El proyecto catlang es un lenguaje de programación que compila directamente a SQL, generando una única consulta SELECT que se ejecuta en PostgreSQL. Su objetivo principal no es crear una nueva sintaxis de consultas, sino utilizar un objetivo de compilación inusual para validar las características internas de su lenguaje, cuyo lenguaje intermedio se basa en la teoría de categorías abstractas. El autor, quien ha desarrollado esta herramienta durante un periodo de tiempo libre, destaca la complejidad de la sintaxis de flechas y la capacidad del compilador para desazucar el código en estructuras algebraicas. El sistema permite expresar bucles y condicionales mediante operaciones de producto y coproducto, eliminando el uso de nombres de variables en el lenguaje intermedio para facilitar la optimización en diferentes dominios, como circuitos electrónicos o bases de datos. La generación de SQL resultante es funcional, aunque no estéticamente refinada, y permite iteraciones explícitas. Este enfoque demuestra cómo la abstracción algebraica puede servir como puente versátil entre lenguajes de programación y otros sistemas de procesamiento de datos, ofreciendo una perspectiva única sobre la compilación y la semántica de los programas.
