mk: relational database queries — Datalog-style demo
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 51s

tests/rdb.sx shows the library as a small Datalog engine over fact
tables. Each table is an SX list of tuples, wrapped by a relation that
does (membero (list ...) table). Queries compose selection, projection,
and joins entirely in run* / fresh / conde / membero / intarith / nafc.

Five queries: dept filter, salary > threshold, employee-project join,
intersection (engineers on a specific project), anyone on multiple
distinct projects.

5 new tests, 336/336 cumulative.
This commit is contained in:
2026-05-08 11:22:12 +00:00
parent 16fe22669a
commit 48835f2d4f
2 changed files with 96 additions and 0 deletions

View File

@@ -173,6 +173,12 @@ _(none yet)_
_Newest first._
- **2026-05-08** — **Datalog-style relational database queries**: tests/rdb.sx
shows miniKanren as a query engine over fact tables. Defines two tables
(employees + project assignments), wraps each with a relation that does
membero over the table, then expresses queries: dept filter, salary >
threshold (intarith), join engineers ↔ runtime project, find anyone on
multiple distinct projects (nafc + ==). 5 new tests, 336/336 cumulative.
- **2026-05-08** — **Cyclic graph behaviour test (motivates Phase 7 tabling)**:
Demonstrates that naive patho on a 2-cycle generates ever-longer paths.
`run 5` truncates to a finite prefix; `run*` would diverge. This is