圏論
「圏論とプログラミング」発表スライドメモ - 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-終余代数 無限のデータ構造
関手の始代数、終代数、双代数 代数的データ型