HeadlinesBriefing favicon HeadlinesBriefing.com

Linguagem Prela: Alternativa SQL em 11 linhas

Hacker News •
×

Prela é uma nova linguagem de consulta que está sendo desenvolvida na UCLA Re PL. A linguagem é bastante diferente de SQL, mas suas ideias-chave são muito simples. Neste breve tutorial, construímos uma versão de brinquedo de Prela em Python para entender seus princípios fundamentais.

A consulta abaixo encontra cada filme produzido por uma empresa americana e que tem um nome de personagem em seu título, exibindo o título junto com o alias para cada membro do elenco. Note que a consulta equivalente em SQL abrange mais de 20 linhas.

A primeira coisa especial sobre Prela é que há apenas relações binárias, ou seja, tabelas com duas colunas. Isso pode soar muito limitador à primeira vista, mas é fácil "binarizar" uma tabela larga com múltiplas colunas.

A motivação para focar em relações binárias é que elas generalizam funções. Funções são poderosas porque se compõem, tornando-as os blocos de construção dos programas. Uma função mapeia cada entrada para uma saída única, enquanto uma relação pode mapear uma entrada para múltiplas saídas diferentes. Em certo sentido, uma relação pode ser vista como uma função não determinista.

O poder da composição realmente mostra-se quando encadeamos várias chamadas .select. Devido ao fato de que a junção via chave estrangeira quase sempre requer "resolver" um ID para uma linha, o Prela automaticamente insere esse passo para que um possa escrever o seguinte, que lê apenas como "o país da empresa de um filme"!

Entidades-chave: Locais: UCLA Re PL