Files
bara-lang/Makefile
T
dimgigov 87d6028487 Phase 1-4: Reader, Runtime, Macros, Nim Interop — 543x faster than JVM Clojure
- Reader: maps, sets, syntax-quote, dispatch macros, metadata
- Runtime: CljVal type system, 80+ core functions (collections, strings, math, IO)
- Emitter: full CljVal-based code generation, macro expansion, inline fns
- Macros: defmacro with compile-time evaluator, ->, ->>, and, or, when, cond, for, doseq
- Nim Interop: nim/module/function syntax, auto-import, type mapping
- CLI: cljnim -e '<code>' for quick evaluation
- Tests: 60 unit tests (reader + emitter)
- Benchmarks: AOT suite showing 543x startup, 679x factorial vs JVM Clojure
- CI: GitLab CI pipeline
- Runtime library: lib/cljnim_runtime.nim (1070+ lines)
2026-05-08 16:34:39 +03:00

34 lines
618 B
Makefile

.PHONY: build test clean run-example bench bench-aot
NIMCACHE = nimcache
build:
nim c -o:cljnim src/cljnim.nim
test:
nim c -r tests/test_reader.nim
nim c -r tests/test_emitter.nim
test-reader:
nim c -r tests/test_reader.nim
test-emitter:
nim c -r tests/test_emitter.nim
run-example: build
./cljnim run examples/hello.clj
bench:
bash benchmarks/run_benchmarks.sh
bench-aot:
bash benchmarks/run_aot_benchmarks.sh
clean:
rm -f cljnim
rm -rf $(NIMCACHE)
find . -name "*_generated.nim" -delete
find . -name "*_generated" -delete
find . -name "test_reader" -delete
find . -name "test_emitter" -delete