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.
Prela: un lenguaje de consultas basado en el álgebra de Tarski
