Files
rose-ash/lib/datalog/scoreboard.md
giles 7a94a47e26
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 23s
datalog: quoted 'atoms' tokenize as strings
Quoted atoms with uppercase- or underscore-leading names were
misclassified as variables. `p('Hello World').` flowed through the
tokenizer's "atom" branch and through the parser's string->symbol,
producing a symbol named "Hello World". dl-var? inspects the first
character — "H" is uppercase, so the fact was rejected as non-ground
("expected ground literal").

Tokenizer now emits "string" for any '...' quoted form. Quoted atoms
become opaque string constants — matching how Datalog idiomatically
treats them, and avoiding a per-symbol "quoted" marker that would
have rippled through unification and dl-var?. The trade-off is that
'a' and a are no longer the same value (string vs symbol); for
Datalog this is the safer default.

Updated the existing "quoted atom" tokenize test, added a regression
case for an uppercase-named quoted atom, and a parse-level test that
verifies the AST. Conformance 269/269.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 08:39:24 +00:00

421 B

datalog scoreboard

269 / 269 passing (0 failure(s)).

Suite Passed Total Status
tokenize 31 31 ok
parse 23 23 ok
unify 29 29 ok
eval 40 40 ok
builtins 26 26 ok
semi_naive 8 8 ok
negation 10 10 ok
aggregates 23 23 ok
api 22 22 ok
magic 36 36 ok
demo 21 21 ok