Roadmap

What's shipped, what's next. Built in the open.

v0.1 — Foundation

Done
  • Lexer and parser (square-bracket s-expressions)
  • Tree-walking interpreter with ~70 builtins
  • Hindley-Milner type inference
  • Ownership checker (inferred, no annotations)
  • Algebraic effects (declare, perform, handle)
  • REPL with time travel and forking
  • CLI: new, run, build, test, check, repl
  • Basic WASM codegen

v0.2 — Ergonomics

Done
  • Destructuring in let and function params (vec, map, rest)
  • Multi-arity functions
  • Module system (use, pub, cycle detection)
  • Pipe expressions
  • Pattern matching
  • ? sugar for Result/Option
  • String interpolation

v0.3 — Tooling

Done
  • Formatter (Wadler-Lindig pretty printer, loon fmt)
  • LSP: diagnostics, hover types, go-to-definition
  • LSP: completions with types, inlay hints
  • Interactive error tutorials (loon explain)
  • Error codes (E01xx–E05xx)

v0.4 — Macros

Done
  • Template macros with quasiquoting and splicing
  • Procedural macros (full interpreter at compile time)
  • Type-aware macros (macro+)
  • Compile-time effects (IO, Net, Env)
  • macroexpand for debugging

v0.4.1 — Syntax Refresh

Done
  • Kill => in match/handle — positional pairs
  • Kill / for effects — set literals for annotations
  • Universal string interpolation
  • Fix dom/ to dom. namespace convention
  • Map destructuring with defaults in fn params
  • Match guards — expression patterns via match true
  • Type methods with automatic dispatch
  • Record types with named fields and dot access

v0.5 — Type System

In Progress
  • Row polymorphism for records
  • Trait bounds (Add, etc.)
  • Typed AST lowering
  • Trait declarations and impls
  • Type classes
  • Full trait resolution

v0.6 — Effects & Concurrency

  • Full effect inference
  • Effect composition
  • Built-in effects: IO, Fail, Process, Async
  • Channels (send, recv, try-recv)
  • Async spawn/await

v0.7 — Compilation

  • WASM codegen for closures and ADTs
  • Pattern matching compilation
  • Tail call optimization
  • Inline caching for interpreter

v0.8 — Ecosystem

  • Package manager (Pond)
  • Standard library
  • Documentation generator
  • Tree-sitter grammar

v1.0 — The Vision

  • Content-addressed definitions (Unison-inspired)
  • Incremental computation
  • LLM integration (ai fn, agents)
  • Persistent data structures
  • Notebooks / literate programming