圏論
「圏論とプログラミング」発表スライドメモ - Qiita
実務上のメリット
型計算
、設計、抽象化のスキルが上がる
圏
恒等射
射の合成
例
クライスリ圏
レンズ圏
関手
自然変換
米田の補題
随伴
Kan拡張
Monad
Aplicative functor
Profunctor
Optics
Recursion Scheme
以下は
/mrsekut-p/圏論とプログラミング
からリンクのために借りた
👆が詳しい
table:基本的な圏の概念の対応
圏論 プログラム
圏
Hask圏
対象
kindが
*
な型
関手
Functor型クラス
自然変換
パラメトリック多相
圏の対応
table:圏の対応
圏論 プログラミング
部分圏
型クラス
関手の対応
table:関手の対応
圏論 プログラミング
Hom関手
関数型(->)
表現可能関手
Representable型クラス
関数の対応
table:関数の対応
圏論 プログラミング
射
関数
合成
Haskellの関数合成
関数適用
冪
カリー化
カリー化
アンカリー化
アンカリー化
米田の補題
継続
随伴
CCC
高階関数型プログラム、
ラムダ計算
データ型周辺の対応
table:データ型周辺の対応
圏論 プログラミング
自由モノイド
文字列
Catamorphism
fold
Anamorphism
unfold
F-始代数
有限データ構造
F-終余代数
無限のデータ構造
関手の
始代数
、
終代数
、
双代数
代数的データ型