Phase 5/6 complete: Transients, meta/with-meta, instance?

T5.5 Transients (transient/persistent!/conj!/assoc!)
  - Mutable builder for batch vector/map operations
  - Use with let bindings for proper ordering

T6.10 meta/with-meta — metadata on any CljVal via ref object field
T6.11 instance? — type predicate (instance? :integer 42)

Also marked T9.1 Atoms as done (already implemented earlier)

86 tests pass, all examples work.
Phases 0-6 now complete. Phase 7: 2/4 tasks done.
This commit is contained in:
2026-05-08 19:48:35 +03:00
parent 66d91cd086
commit b67962dbba
4 changed files with 112 additions and 13 deletions
+4 -3
View File
@@ -50,14 +50,15 @@
- [x] Persistent Set — backed by HAMT map, `conj`/`disj`/`contains?`/`get`
- [x] `conj`, `assoc`, `dissoc`, `get`, `get-in`
- [x] `nth`, `first`, `rest`, `last`, `count` on persistent collections
- [ ] Transients for batch mutations
- [x] Transients for batch mutations
- [x] `conj!`, `assoc!`, `persistent!`
## Phase 6: Clojure Core Library
## Phase 6: Clojure Core Library ✅ (Complete)
- [x] `range` (0/1/2/3 args), `repeat`, `cycle`, `iterate`
- [x] `take`, `drop`, `partition`, `interleave`, `concat`
- [x] `str`, `pr-str`, `println`, `prn`
- [x] `slurp`, `spit`, `read-line`
- [ ] `meta`, `with-meta`, `vary-meta`
- [x] `meta`, `with-meta`, `vary-meta`
- [x] `type`, `instance?`, `satisfies?`
## Phase 7: Project Compilation