learning track

Learn first by building it.

These lessons walk through the interpreter from the inside out — starting with how the lexer reads characters, up through variable scoping and the runtime. Each lesson includes working code and a hands-on exercise.

beginner

Start here

intermediate

Going deeper

extending the language

Build something new

Booleans, the when expression, { } blocks, and now fn function literals — with closures and recursion — have already landed. See lessons 04–06 above for how the earlier ones fit into the AST and interpreter; lesson content for functions is on the way. These lessons are in preparation for what's next.

07 Fixing variable reassignment coming soon
08 Writing a while loop planned
09 First-class functions coming soon
10 Closures and captured environments coming soon
11 Modules and imports planned