lib/guest/prefix.sx defines a single (defmacro prefix-rename PREFIX ENTRIES) form that takes a prefix string and a quoted list of entries. Each entry is either a bare symbol (same-name alias: cl-foo = foo) or a 2-element list (alias target) for renames (cl-mod = modulo). Ported lib/common-lisp/runtime.sx: 47 hand-written (define cl-X Y) lines across 13 contiguous groups now collapse into prefix-rename calls. Loaded lib/guest/prefix.sx in the conformance preamble so the macro is available when runtime.sx is parsed. Verification: cl scoreboard 518/518, up from a stale baseline of 309/309 — Phase 2 (evaluator, +182) and Phase 6 (stdlib, +27) had under-counted historical results, not affected by this change. No regressions; baseline updated to reflect true counts. PARTIAL — pending second consumer. lua/runtime.sx (the brief's specified second consumer) has zero pure same-name aliases — every lua- definition wraps custom logic. Step left [partial — pending lua] until a consumer fits, or the second-consumer choice is revisited (js/runtime.sx has 2 candidates: isFinite/isNaN). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
87 lines
1.8 KiB
JSON
87 lines
1.8 KiB
JSON
{
|
|
"lang": "common-lisp",
|
|
"captured": "2026-05-06T22:59:46Z",
|
|
"suite_command": "bash lib/common-lisp/conformance.sh",
|
|
"totals": {
|
|
"pass": 518,
|
|
"fail": 0,
|
|
"total": 518
|
|
},
|
|
"suites": [
|
|
{
|
|
"name": "Phase 1: tokenizer/reader",
|
|
"pass": 79,
|
|
"fail": 0,
|
|
"total": 79
|
|
},
|
|
{
|
|
"name": "Phase 1: parser/lambda-lists",
|
|
"pass": 31,
|
|
"fail": 0,
|
|
"total": 31
|
|
},
|
|
{
|
|
"name": "Phase 2: evaluator",
|
|
"pass": 182,
|
|
"fail": 0,
|
|
"total": 182
|
|
},
|
|
{
|
|
"name": "Phase 3: condition system",
|
|
"pass": 59,
|
|
"fail": 0,
|
|
"total": 59
|
|
},
|
|
{
|
|
"name": "Phase 3: restart-demo",
|
|
"pass": 7,
|
|
"fail": 0,
|
|
"total": 7
|
|
},
|
|
{
|
|
"name": "Phase 3: parse-recover",
|
|
"pass": 6,
|
|
"fail": 0,
|
|
"total": 6
|
|
},
|
|
{
|
|
"name": "Phase 3: interactive-debugger",
|
|
"pass": 7,
|
|
"fail": 0,
|
|
"total": 7
|
|
},
|
|
{
|
|
"name": "Phase 4: CLOS",
|
|
"pass": 41,
|
|
"fail": 0,
|
|
"total": 41
|
|
},
|
|
{
|
|
"name": "Phase 4: geometry",
|
|
"pass": 12,
|
|
"fail": 0,
|
|
"total": 12
|
|
},
|
|
{
|
|
"name": "Phase 4: mop-trace",
|
|
"pass": 13,
|
|
"fail": 0,
|
|
"total": 13
|
|
},
|
|
{
|
|
"name": "Phase 5: macros+LOOP",
|
|
"pass": 27,
|
|
"fail": 0,
|
|
"total": 27
|
|
},
|
|
{
|
|
"name": "Phase 6: stdlib",
|
|
"pass": 54,
|
|
"fail": 0,
|
|
"total": 54
|
|
}
|
|
],
|
|
"source_scoreboard": "lib/common-lisp/scoreboard.json",
|
|
"note": "Step 2: previous baseline (309) was lower because Phase 2 (evaluator, +182 tests) and Phase 6 (stdlib, +27 tests) results were under-counted by the original conformance.sh's parser. Re-running with prefix.sx loaded reveals true counts. No tests regressed."
|
|
}
|