最近見かけたHaskell library: connections

connectionsはガロア接続 (Golois connections)を表現するライブラリ。ガロア接続の正確な定義はライブラリのドキュメントを参照されたいが、ある規則を満たす半順序集合間の2つの写像の組、らしい。なお、実用上は2つ組の写像ではなく3つ組の写像を扱うことが多いので、connectionsの基本データ型Conn k a bは3つ組写像を扱えるようになっているようだ。

実用上何に使うのかがいまいちよく分からないが、数値型の相互変換やceil, floor, round処理などを表現するのに使うようだ。

あと、ドキュメントが引用しているSeven Sketches in Compositionalityというオンライン教科書は、順序集合や圏論についてわりと分かりやすく解説してそうに見える。