2019-03-12 catamorphism, anamorphism, histmorphism, dynamorphismの概要をつかむ記事 Haskell 45deg.github.io 個人的に慧眼だったのは、不動点の節の説明での発想の転換の部分でした。 そもそもリストを関手で表現したいならば、こう定義した方がよさそうに見えます。 (2) List:=1+Int×List しかしこれでは定義自身にList が含まれる、いわゆる再帰的定義となってしまいます。 そこで、(2)を「方程式」とみなし、その方程式を満たすような List を「リストを表すデータ型」とする発想の転換をします。しかし、型同士の等式は = ではなく 同型 ≃ で結びます。