Files
bara-lang/PLAN.md
T

1.3 KiB

Clojure/Nim — Test Suite Compliance Plan

Current Status: 233/233 (100%)

Component Pass Total %
clojure.string 8 8 100%
clojure.core 225 225 100%
Total 233 233 100%

Progress This Session (2026-05-11)

Started: 210/233 (90%) → Current: 233/233 (100%) — +23 tests

Key Changes Made

  • Reader: Removed debug stderr lines causing crashes in readList
  • Reader: Added ##Inf, ##-Inf, ##NaN dispatch macro handling (was returning nil, causing arity mismatches in are macro)
  • Reader: Added #?@ splice-unwrap support in readAll (top-level splicing)
  • Reader: Reader conditionals now prefer :clj platform branch, falling back to :default
  • Reader: Fixed hex literal overflow for -0x8000000000000000 (returns int64 min)
  • Macros: doseq macro now handles :when, :let, :while keywords
  • Macros: (when false) in doseq while-loop has body (was invalid)
  • Macros: expandSyntaxQuote handles unquote-splicing inside collections (returns form directly for concat splicing)

Pre-existing Issues (not from this session)

  • Emitter test: emit symbol returns cljSymbol(...) instead of raw name
  • Emitter test: emit mangled symbol similar issue
  • Emitter test: emit cond generates wrong Nim code