Phase 4/7: nREPL, Tool-call format, Module caching

T4.5 nREPL: TCP-based JSON REPL (cljnim repl --tcp 9999)
T4.6 Tool-call: {"tool":"cljnim/eval","args":{"form":"..."}}
T7.3 Module caching: nimcache/ in project dir, skip regen if unchanged

Phase 4 now 100% complete. Phase 7: 3/4 tasks done.
This commit is contained in:
2026-05-08 19:57:39 +03:00
parent b67962dbba
commit 62ca70d05a
4 changed files with 146 additions and 18 deletions
+5 -5
View File
@@ -41,10 +41,10 @@
- [x] File operations: `(file/ls "dir")`, `(file/exists? "path")`
- [x] Git operations: `(git/status)`, `(git/commit "msg")`, `(git/push)`
- [x] Git operations: `(git/diff)`, `(git/log)`
- [ ] nREPL protocol compatibility
- [ ] Tool-call format for AI framework integration
- [x] nREPL protocol compatibility (JSON over TCP, `--tcp PORT`)
- [x] Tool-call format for AI framework integration
## Phase 5: Persistent Data Structures
## Phase 5: Persistent Data Structures ✅ (Complete)
- [x] Persistent Vector (Hash Array Mapped Trie, 32-way branching)
- [x] Persistent Map (HAMT) — `pmapAssoc`, `pmapDissoc`, `pmapGet` in O(log₃₂ n)
- [x] Persistent Set — backed by HAMT map, `conj`/`disj`/`contains?`/`get`
@@ -64,8 +64,8 @@
## Phase 7: Project Compilation
- [x] Compile entire projects (not just single files)
- [x] Namespace system (`ns`, `(:require [lib :as alias])`)
- [ ] Module caching for faster REPL startup
- [ ] Dependency resolution
- [x] Module caching for faster REPL startup
- [ ] Dependency resolution (deps.edn, Git deps)
## Phase 8: Self-Hosted REPL
- [ ] Compile forms in memory (no temp files)