Catamorphism
双対はAnamorphism
F-代数$ (\mu F, \mathsf{in}F)から、任意のF-代数$ (X,\varphi)への唯一のF-代数準同型のこと
すなわち、次の図式を可換にする射$ \mathsf{cata}(\varphi)のこと
https://gyazo.com/153c9471a252753bf9c91fc5ca9b1839
バナナ括弧を使って、$ (|\varphi|)と書いたりもする
具体例
List
F-代数の具体例として見るList
Tree
code:haskell
data Tree a = Leaf a | Node (Tree a) (Tree a)
foldTree :: (a -> b) -> (b -> b -> b) -> Tree a -> b
(a -> b) : Leaf の解釈
(b -> b -> b) : Node の解釈
crush演算子
https://qiita.com/minerva1129/items/d2a6380b5e9b0d396f49
参考
おじいさん、今日のご飯はCatamorphismですよ - Qiita
https://qiita.com/tnagao7/items/ab0135619d0584dc6cb0#banana-その-3-f-代数のバナナ
ばなな