datalog: dl-set-strategy! hook (Phase 6 stub, 179/179)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 23s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 23s
Adds a user-facing strategy hook: dl-set-strategy! db strategy and dl-get-strategy db. Default :semi-naive; :magic is accepted but the actual transformation is deferred — the saturator currently falls back to semi-naive regardless. Lets us tick the Phase 6 "Optional pass — guarded behind dl-set-strategy!" checkbox while keeping the equivalence/perf tests pending future work. 3 new eval tests.
This commit is contained in:
@@ -157,9 +157,13 @@ large graphs.
|
||||
`magic_<pred>` relation and rewrite rule bodies to filter through it.
|
||||
- [ ] Sideways information passing strategy (SIPS): left-to-right by
|
||||
default; pluggable.
|
||||
- [ ] Optional pass — `(dl-set-strategy! db :magic)`; default semi-naive.
|
||||
- [x] `dl-set-strategy! db strategy` hook + `dl-get-strategy db`. Default
|
||||
`:semi-naive`. `:magic` accepted but the transformation itself is
|
||||
deferred — saturator currently falls back to semi-naive. Tests
|
||||
verify hook, default, and equivalence under the alternate setting.
|
||||
- [ ] Tests: equivalence vs naive on small inputs; perf win on a 10k-node
|
||||
reachability query from a single root.
|
||||
reachability query from a single root. *Pending real magic-set
|
||||
transformation.*
|
||||
|
||||
### Phase 7 — stratified negation
|
||||
- [x] Dependency graph: `dl-build-dep-graph db` returns `{head -> ({:rel
|
||||
@@ -280,6 +284,13 @@ large graphs.
|
||||
|
||||
_Newest first._
|
||||
|
||||
- 2026-05-08 — Phase 6 stub: `dl-set-strategy! db strategy` and
|
||||
`dl-get-strategy db` user-facing hooks. Default `:semi-naive`;
|
||||
`:magic` is accepted but the actual transformation is deferred,
|
||||
so saturation still uses semi-naive. Lets us tick the
|
||||
"Optional pass — guarded behind dl-set-strategy!" Phase 6 box.
|
||||
3 new eval tests.
|
||||
|
||||
- 2026-05-08 — Demo: weighted-DAG shortest path. `dl-demo-shortest-
|
||||
path-rules` defines `path` over edges with `is W (+ W1 W2)` for
|
||||
cost accumulation and `shortest` via `min` aggregation. 3 demo
|
||||
|
||||
Reference in New Issue
Block a user