CategoryとArrowと圏論
真面目にやるためにはCCCを完全に理解していないといけない気もしているmrsekut.icon Hask圏では、対象を型、射を関数とみなしていたが、 inputをoutputに「どのように変換するか」がインスタンスとなるので、
Categoryのインスタンスが圏
Categoryそのものは「圏の定義」なので、圏よりも上の次元の概念である
例えば、->で構成されたCategoryが、Hask圏である つまり、Hask圏は、「関数の圏」である
arrが圏間の関手
敢えてHask圏と比較して書いたほうがわかりやすいか? table:比較
Categoryのinstance Hask圏
対象 型 型
射 arrow 関数(->)
関手 arr 自己関手fmap
「Categoryのinstance」の一例がHask圏、当たり前に前者のほうが一般的
雑メモ
Kleisli mを理解できればもうちょいまともな図が描けると期待しているmrsekut.icon https://gyazo.com/32eb59ce3bbc3832ca98f24933a5b6c9
Arrowという型クラスがある
Arrow型クラスのインスタンスとなる型は圏になる
この圏はHask圏に限らない