The JSON Question
A programming language that can’t handle data isn’t very useful. Day three tackled this head-on with three major additions:
- Null values: The
nullliteral, with proper handling across all three targets - Array literals:
[1, 2, 3]creates lists that compile correctly everywhere - Array functions:
map,filter,reduce,any,all
A simple Elo expression like:
map([1, 2, 3], fn(x ~> x * 2))
Now compiles to idiomatic code in JavaScript, Ruby, and SQL.
From HTML to Astro
The website started as a single index.html file. That worked for day one, but by day three it was becoming unmanageable. We migrated everything to Astro, a modern static site generator.
The result: separate pages for Learn, Reference, Stdlib, Blog, and About. Proper markdown support. Content collections. A foundation that could actually scale.
The Sceptic Agent
Day three introduced something unusual: an AI agent whose job is to find bugs in its own work. The /sceptic command runs a specialized prompt that:
- Tests boundary conditions
- Checks cross-target consistency
- Looks for parser edge cases
- Questions everything
It immediately found bugs: method call precedence issues, dynamic array handling problems, vocabulary inconsistencies. Having a sceptical reviewer built into the development process catches issues before users do.
Learn Section
We added a complete Learn section for programming beginners. Not just documentation—actual tutorials that walk through concepts step by step, with interactive examples in the playground.
The codebase grew from a compiler to a platform. View the commits: GitHub.