The Road Ahead
This codex is organized into a bunch of sections. Each section builds on the last. By the end, you should have a pretty good picture of what Passerine is, and what it aspires to be.
We'll start by exploring the language the functional foundations on which Passerine is build. We'll then work towards patterns of building up and tearing data.
With the core in place, it's time so shift gears. We'll rip through Passerine's trait and effect systems, and learn that - maybe - they're not so different after all. We'll also discuss how types and effects can be composed for greater control over the runtime and execution environment.
With that sprint behind us, we'll then take a short detour, and chat about modules and package management. Here you'll meet aspen, and get some real dirt under your nails as we write a few projects together.
With practical experience under our belts, some hidden patterns will slowly become obvious. In the final section of this Codex, we'll dive deep into the heart of macros and compile-time evaluation, and leverage the ultimate abstraction to bend Passerine to our will. If that doesn't sound crazy, I don't know what is!
It's going to be a wild ride, dear reader, so you'd better buckle up!