随伴 随伴というのは2つの関手の関係のことです. $ F : \mathcal{C} \to \mathcal{D} $, $ G : \mathcal{D} \to \mathcal{C} $があったとき, 随伴$F \dashv G$ とは, 自然同型 $\hom(F\cdot,\cdot) \cong \hom(\cdot,G\cdot)$ のことです(ただしこの同型はhomの左右を同時に固定して, 2変数引数としてみて考えます). 文章で読むより図式を見たほうが早いです. コードにするのも簡単です. 随伴は圏論では重要な概念です. そこでHaskellでの随伴について見ていきます. 例 (残念なことに)Haskellでの随伴の例はそこまで多くないです. というのも, Haskellでよく見る関手(Maybe, List, Either aなど)には随伴が存在しないことが簡単に示せる