SQLにコンパイルされる自作言語、その中間表現は圏論だった
Arrows to arrows, categories to queries (2025)
Haskell界隈で知られるブロガーが、休暇中に書いた小さなプログラミング言語catlangを公開した。コンパイラはプログラム全体を1つの巨大なSELECT文に変換し、PostgreSQLで実行するとその出力がプログラムの結果になる。中間言語は射や余積といった圏論の記法で構成され、各記号に単純な代数的意味を与えることで、SQLをはじめ奇妙なターゲットへのコンパイルが容易になる仕組みだ。
これは新しいクエリ言語ではない。コンパイラが1つの巨大なSELECT文を吐き出すプログラミング言語なのだ。