Prela – Purely Algebraic Relation Combinators
Tarski's relation algebra meets continuation-passing style for navigational queries.

Query combinators like parser combinators with zero optimizer— you control the plan.
Database engineers, PL researchers, developers building embedded query capabilities
DuckDB · SQLite · Datalog
After sharing the previous version here, I've received some valuable feedback, the main one being the weird unicode-based syntax throwing people off.
Prela now has a more familiar SQL-like syntax while adhering to the algebraic principle, which makes the language compositional and controllable, all the while keeping the core engine under 1k lines of code.
The engine has also been rewritten from Julia to Rust, resulting in both simpler code and faster performance (not just because "Rust fast Julia slow", but for some pretty deep compiler-level reasons that I'll hopefully write about at some point).
In the long run, I think the value of Prela is not as a single query language, but as a demonstration of the power of relation combinators which can be implemented in any language, just like iterators.
Tarski's relation algebra meets continuation-passing style for navigational queries.
Zero-copy EDID parsing with no_std support fills embedded display driver gap nicely.
Another systems language when Rust, Zig, and Odin already dominate this space.
Git-style version control for vectors when Chroma and Qdrant can't time-travel.
Indexes the Linux kernel in 80 seconds without AST parsers, where tree-sitter tools fail.
Dynamic language with manual memory control, continuations, and preemptive fibers—niche but clever.