# Development Roadmap ## Phase 0: Compiler Core ✅ - [x] Clojure Reader (EDN parser) - [x] AST → Nim Emitter - [x] CLI (`compile`, `run`, `read`) - [x] Special forms: `def`, `defn`, `fn`, `let`, `if`, `do`, `quote` - [x] Arithmetic operators - [x] Human and JSON REPL ## Phase 1: AI-Native Tooling 🔄 - [x] JSON REPL mode - [x] Batch evaluation - [x] Structured errors - [ ] File operations (`file/read`, `file/write`) - [ ] Git operations (`git/commit`, `git/push`) - [ ] nREPL protocol compatibility ## Phase 2: Persistent Data Structures - [ ] Persistent Vector (HAMT) - [ ] Persistent Map (HAMT) - [ ] Persistent Set - [ ] `conj`, `assoc`, `dissoc`, `get`, `get-in` - [ ] `nth`, `first`, `rest`, `last`, `count` ## Phase 3: Clojure Core Library - [ ] Seq functions: `map`, `filter`, `reduce`, `range` - [ ] String functions: `str`, `pr-str`, `slurp`, `spit` - [ ] Meta: `meta`, `with-meta`, `type` ## Phase 4: Macro System - [ ] `defmacro` - [ ] `syntax-quote`, `unquote`, `unquote-splicing` - [ ] `gensym` - [ ] Core macros: `->`, `->>`, `and`, `or`, `when`, `cond` ## Phase 5: Nim Interop - [ ] `nim/import` — Import Nim modules - [ ] `nim/call` — Call Nim functions - [ ] C FFI declarations ## Phase 6: Optimization - [ ] AOT project compilation - [ ] Module caching - [ ] Self-hosted REPL (compile in memory) ## Phase 7: Concurrency - [ ] Atoms (CAS) - [ ] Agents - [ ] core.async channels (simplified)