Er baute eine Programmiersprache, deren Compiler nur ein einziges SELECT-Statement ausspuckt
Arrows to arrows, categories to queries (2025)
Aus einer Laune heraus hat ein Entwickler catlang geschrieben: eine kleine Programmiersprache, deren Compiler den gesamten Programmablauf in eine einzige riesige SQL-Abfrage übersetzt. Selbst eine simple Schleife, die immer 100 zurückgibt, wird zu einem monströsen Konstrukt aus WITH RECURSIVE, CROSS JOINs und UNIONs. Das eigentliche Experiment ist die Zwischensprache: reine Kategorientheorie, aus der sich beliebige Ziele wie SQL ableiten lassen.
Ist das umständlich? Und wie! Die Verschrobenheit ist hier nicht direkt ein Feature, ich suchte einfach nach konzeptionell einfachen Dingen, die sich leicht in kategorientheoretischen Kram umwandeln ließen.