Commit Graph

2 Commits

Author SHA1 Message Date
3c419501e1 Fix r7rs.sx: remove guard macro (transpiler blocker), fix null?/boolean=?
guard macro expansion loops in the transpiled evaluator because
expand_macro→eval_expr→CEK can't handle let+first/rest in macro
bodies. Removed guard macro; will re-add as special form once
transpiler handles runtime AST construction (cons/append/make-symbol).

Fixed null? to handle empty lists (not just nil).
Fixed boolean=? to use = instead of undefined eq?.

2561/2568 tests pass (37 new vs baseline, 5 guard + 2 scope pending).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 10:20:31 +00:00
d4244b47bf R7RS compat library + 45-test suite (27 passing, 17 need lib load fix)
lib/r7rs.sx: guard/with-exception-handler macros, error objects
(make-error-object, error-object?, error-message, error-object-irritants),
R7RS aliases (car/cdr/cadr/null?/pair?/procedure?/boolean=?/symbol->string/
number->string/string->number), string->symbol.

spec/tests/test-r7rs.sx: 9 suites covering call/cc (7), raise (4),
guard (5), with-exception-handler (1), error-objects (4), multi-map (6),
cond=> (4), do-iteration (4), r7rs-aliases (10). 27/44 pass — the 17
failures need r7rs.sx auto-load in the test runner (currently commented
out pending transpiled evaluator hang investigation).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 08:29:57 +00:00