Hacker News Front Page · firstbase ·
Arrows to Arrows, Categories to Queries
El autor presenta catlang, un lenguaje de programación cuyo compilador transforma programas en SQL para PostgreSQL, y muestra cómo una representación intermedia basada en operaciones de teoría de categorías puede expresar composición, bifurcaciones, estructuras de datos y bucles. Explica cómo esas operaciones se traducen a consultas SQL, incluidas uniones para coproductos y una CTE recursiva para implementar bucles, y reconoce que el SQL generado es enorme y que el uso de `clock_timestamp()` para ordenar los resultados es una solución improvisada. El proyecto explora cómo una representación sin nombres de variables puede facilitar la adaptación del compilador a distintos destinos, aunque catlang se presenta como un experimento y no como una herramienta pulida.
I’ve had a little time off of work as of late, and been spending it in characteristically unwise ways. In particular, I’ve written a little programming language that compiles to SQL. I call it catlang. That’s not to say that I’ve written a new query language. It’s a programming language, whose compiler spits out one giant SELECT statement. When you run that query in postgres, you get the output of your program.