Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 50s
New lib/datalog/builtins.sx: (< <= > >= = !=) and (is X expr) with + - * /. dl-eval-arith recursively evaluates nested compounds. Safety analysis now walks body left-to-right tracking the bound set: comparisons require all args bound, is RHS vars must be bound (LHS becomes bound), = special-cases the var/non-var combos. db.sx keeps the simple safety check as a forward-reference fallback; builtins.sx redefines dl-rule-check-safety to the comprehensive version. eval.sx dispatches built-ins through dl-eval-builtin instead of erroring. 19 new tests.
22 lines
577 B
Plaintext
22 lines
577 B
Plaintext
# Datalog conformance config — sourced by lib/guest/conformance.sh.
|
|
|
|
LANG_NAME=datalog
|
|
MODE=dict
|
|
|
|
PRELOADS=(
|
|
lib/datalog/tokenizer.sx
|
|
lib/datalog/parser.sx
|
|
lib/datalog/unify.sx
|
|
lib/datalog/db.sx
|
|
lib/datalog/builtins.sx
|
|
lib/datalog/eval.sx
|
|
)
|
|
|
|
SUITES=(
|
|
"tokenize:lib/datalog/tests/tokenize.sx:(dl-tokenize-tests-run!)"
|
|
"parse:lib/datalog/tests/parse.sx:(dl-parse-tests-run!)"
|
|
"unify:lib/datalog/tests/unify.sx:(dl-unify-tests-run!)"
|
|
"eval:lib/datalog/tests/eval.sx:(dl-eval-tests-run!)"
|
|
"builtins:lib/datalog/tests/builtins.sx:(dl-builtins-tests-run!)"
|
|
)
|