HeadlinesBriefing favicon HeadlinesBriefing.com

Lenguaje Prela: Alternativa SQL en 11 líneas

Hacker News •
×

Prela es un nuevo lenguaje de consulta que se está desarrollando en UCLA Re PL. El lenguaje es bastante diferente de SQL, pero sus ideas clave son muy simples. En este breve tutorial, construimos una versión juguete de Prela en Python para comprender sus principios fundamentales.

La consulta a continuación encuentra cada película producida por una empresa estadounidense y tiene un nombre de personaje en su título, mostrando el título junto con el alias para cada miembro del elenco. Tenga en cuenta que la consulta equivalente en SQL abarca más de 20 líneas.

La primera cosa especial de Prela es que solo hay relaciones binarias, es decir, tablas con dos columnas. Esto puede sonar muy limitante a primera vista, pero es fácil "binarizar" una tabla ancha con múltiples columnas.

La motivación para centrarse en relaciones binarias es que generalizan las funciones. Las funciones son poderosas porque se componen, convirtiéndolas en los bloques constructivos de los programas. Una función asigna cada entrada a una salida única, mientras que una relación puede asignar una entrada a múltiples salidas diferentes. En cierto sentido, una relación puede considerarse una función no determinista.

El poder de la composición realmente se muestra cuando encadenamos varias llamadas .select. Debido a que casi siempre se requiere unir mediante una clave foránea requiere "resolver" un ID a una fila, Prela inserta automáticamente ese paso para que pueda escribir lo siguiente, que se lee solo como "el país de la empresa de una película"!

Entidades clave: Ubicaciones: UCLA Re PL