6dfc2a9308
- T5.3: HAMT Persistent Map (lib/cljnim_pmap.nim)
O(log32 n) assoc/dissoc/get with structural sharing
16 unit tests, ckMap migrated from seq to HAMT
- T5.4: Persistent Set backed by HAMT map
ckSet with conj/disj/contains?/get, set literal #{}
- Fix: cljContains/cljCount return CljVal (not bool/int)
- Fix: equality in generics via explicit cljEq parameter
- Updated roadmap, task board, CI/Makefile
34 lines
691 B
YAML
34 lines
691 B
YAML
image: nimlang/nim:2.2.10
|
|
|
|
stages:
|
|
- test
|
|
- build
|
|
|
|
test:
|
|
stage: test
|
|
script:
|
|
- nim c -o:cljnim src/cljnim.nim
|
|
- nim c -r tests/test_reader.nim
|
|
- nim c -r tests/test_emitter.nim
|
|
- nim c -r tests/test_pvec.nim
|
|
- nim c -r tests/test_pmap.nim
|
|
- ./cljnim compile examples/hello.clj /tmp/hello.nim
|
|
- nim c --path:lib -r /tmp/hello.nim
|
|
- ./cljnim compile examples/math.clj /tmp/math.nim
|
|
- nim c --path:lib -r /tmp/math.nim
|
|
artifacts:
|
|
paths:
|
|
- cljnim
|
|
expire_in: 1 week
|
|
|
|
build-release:
|
|
stage: build
|
|
only:
|
|
- main
|
|
script:
|
|
- nim c -d:release -o:cljnim src/cljnim.nim
|
|
artifacts:
|
|
paths:
|
|
- cljnim
|
|
expire_in: 1 month
|