Files
rose-ash/lib/datalog/scoreboard.md
giles 00881f84eb
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 47s
datalog: arith / by zero raises instead of returning inf
`is(R, /(X, 0))` was silently producing IEEE infinity:

  (dl-eval "p(10). q(R) :- p(X), is(R, /(X, 0))." "?- q(R).")
  => ({:R inf})

That value then flowed through comparisons (anything < inf, anything
> inf) and aggregations (sum of inf, max of inf) producing nonsense
results downstream. `dl-eval-arith` now checks the divisor before
the host `/` and raises "division by zero in <expr>" — surfacing
the bug at its source rather than letting infinity propagate.

1 new test; conformance 264/264.

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

421 B

datalog scoreboard

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

Suite Passed Total Status
tokenize 30 30 ok
parse 22 22 ok
unify 29 29 ok
eval 39 39 ok
builtins 24 24 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