generated at
CategoryとArrowと圏論

#WIP タイトル


真面目にやるためにはCCCを完全に理解していないといけない気もしているmrsekut

Hask圏では、対象を型、射を関数とみなしていたが、
更に一般化して、対象を型、射をcomputationとして定義する
inputをoutputに「どのように変換するか」がインスタンスとなるので、
computationを表す型クラスと、捉えることができる
故に、computationの具体例はすべてCategory型クラスのインスタンスにできる
Categoryのインスタンスが圏
Categoryそのものは「圏の定義」なので、圏よりも上の次元の概念である
例えば、 -> で構成されたCategoryが、Hask圏である
つまり、Hask圏は、「関数の圏」である
arr が圏間の関手


敢えてHask圏と比較して書いたほうがわかりやすいか?
比較
CategoryのinstanceHask圏
対象
arrow関数(->)
関手arr自己関手fmap
「Categoryのinstance」の一例がHask圏、当たり前に前者のほうが一般的

雑メモ
Kleisli mを理解できればもうちょいまともな図が描けると期待しているmrsekut


Arrowという型クラスがある
Arrow型クラスのインスタンスとなる型は圏になる
この圏はHask圏に限らない