Back to browse
Prela – A Compositional and Controllable Query Language

Prela – A Compositional and Controllable Query Language

by remywang·Jun 15, 2026·2 points·0 comments

AI Analysis

●●●BangerBig BrainWizardryNiche Gem

Query combinators like parser combinators with zero optimizer— you control the plan.

Strengths
  • Core engine under 1k lines of Rust with continuation-passing style compilation
  • No query optimizer means explicit control over join ordering and operator pushdown
  • Compositional design lets queries intermix freely with host language code
Weaknesses
  • Research prototype with explicit warning about sweeping breaking changes ahead
  • Niche audience—most developers want automatic optimization, not manual query planning
Target Audience

Database engineers, PL researchers, developers building embedded query capabilities

Similar To

DuckDB · SQLite · Datalog

Post Description

I'm excited to share "take 2" of the Prela query language.

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.

Similar Projects

Developer Tools●●●Banger

I built a codebase analysis MCP: Stria

Indexes the Linux kernel in 80 seconds without AST parsers, where tree-sitter tools fail.

WizardryShip ItSolve My Problem
microbass
3114d ago