Files
rose-ash/lib/prolog/scoreboard.md
giles a774cd26c1 GUEST: step 5 — lib/guest/ast.sx canonical AST shapes (kit + tests)
Defines the 10 canonical node kinds called out in the brief — literal,
var, app, lambda, let, letrec, if, match-clause, module, import — plus
predicates, ast-kind dispatch, and per-field accessors. Each node is a
tagged keyword-headed list: (:literal V), (:var N), (:app FN ARGS), …

Also lib/guest/tests/ast.sx — 33 tests exercising every constructor +
predicate + accessor, runnable via (gast-tests-run!) which returns the
{:passed :failed :total} dict the shared conformance driver expects.

PARTIAL — pending real consumers. The brief calls Step 5 "Optional —
guests may keep their own AST" and forcing lua/prolog to switch their
internal AST shape risks regressing 775 passing tests for tooling that
nothing yet calls. Both internal ASTs are untouched; lua still 185/185,
prolog still 590/590. Datalog-on-sx (in flight, see plans/datalog-on-sx.md)
will be the natural first real consumer; lua/prolog converters can land
when a cross-language tool wants them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 17:35:49 +00:00

1.1 KiB

Prolog scoreboard

590 / 590 passing (0 failure(s)). Generated 2026-05-07T17:35:23+00:00.

Suite Passed Total Status
parse 25 25 ok
unify 47 47 ok
clausedb 14 14 ok
solve 62 62 ok
operators 19 19 ok
dynamic 11 11 ok
findall 11 11 ok
term_inspect 14 14 ok
append 6 6 ok
reverse 6 6 ok
member 7 7 ok
nqueens 6 6 ok
family 10 10 ok
atoms 34 34 ok
query_api 16 16 ok
iso_predicates 29 29 ok
meta_predicates 25 25 ok
list_predicates 33 33 ok
meta_call 15 15 ok
set_predicates 15 15 ok
char_predicates 27 27 ok
io_predicates 24 24 ok
assert_rules 15 15 ok
string_agg 25 25 ok
advanced 21 21 ok
compiler 17 17 ok
cross_validate 17 17 ok
integration 20 20 ok
hs_bridge 19 19 ok

Run bash lib/prolog/conformance.sh to refresh. Override the binary with SX_SERVER=path/to/sx_server.exe bash ….