lumbda/c
russell@unturf.com fc9eb5350c Add C implementation: 7,429 lines, 58 tests, identical output
Complete C port of the Scheme interpreter. Same .lsp files run in
both Python and C with identical output.

Architecture:
- NaN-boxed 64-bit values (zero-alloc numbers)
- Hash-map environments with parent chain + global shortcut
- Interned symbols
- TCO via explicit loop (eval) and TAIL_CALL/SELF_TAIL_CALL (VM)
- Bytecode compiler with all opcodes including superinstructions
- 58 unit + integration tests

Makefile targets:
  make test-all    run Python (571) + C (58) tests
  make examples    run examples in both, compare output
  make friction    benchmark same .lsp in Python vs C
  make c-build     build C interpreter
  make c-test      run C tests
  make c-repl      C REPL
2026-04-14 14:55:17 -04:00
..
.gitignore Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
bench.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
builtins.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
eval.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
main.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
Makefile Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
printer.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
reader.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
test.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
types.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
uncommonlisp.h Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
vm.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00