Prela: un lenguaje de consultas basado en el álgebra de Tarski

Fuentes: Prela: an embedded query language based on Tarski's Algebra of Relations
Imagen generada por IA con el prompt: Abstract diagram of relational algebra operations: binary relations shown as columns, composition and restriction operators with arrows from movie IDs to titles and ratings, clean technical style, no faces, no text.
Imagen generada con IA

Prela es un lenguaje de consultas embebido en el lenguaje de programación Julia, fundamentado en el álgebra de relaciones de Alfred Tarski. A diferencia de SQL, donde la estructura de las consultas es rígida y separa las cláusulas FROM, WHERE y SELECT, Prela permite intercalar libremente predicados y salidas, generando expresiones más naturales y legibles. Todo en Prela se modela como relaciones binarias: cada columna de una tabla se convierte en una relación independiente que asigna una clave primaria a su valor. Las consultas se construyen mediante combinadores de relaciones, como la restricción (:) que funciona como un semijoin izquierdo, y la composición (→) que generaliza la composición de funciones. Además, el producto (×) permite combinar columnas en la salida, aunque rompe ligeramente la doctrina binaria de Tarski. Prela se implementa mediante una incrustación superficial (shallow embedding) en Julia, y sus operadores son funciones regulares del lenguaje anfitrión. El uso de continuación (continuation-passing style) compila a ejecución eficiente por columnas. Proyecto en fase de prototipo de investigación, con cambios constantes. La documentación incluye ejemplos como el Join Order Benchmark 22a, donde se filtran películas por año, país, género y valoración, y se muestran título, puntuación y compañía de producción. Prensa se compara con SQL destacando que las uniones (joins) se reflejan por la estructura navegacional de la consulta, no por condiciones explícitas. También permite subconsultas de forma natural, sin sintaxis especial. Se mencionan puertos experimentales a Rust y Zig. En definitiva, Prela ofrece una perspectiva algebraica y elegante para la consulta de bases de datos, aún en desarrollo pero con fundamentos sólidos.