異教徒の一般化である再帰スキームを「発明しました」。 {-# LANGUAGE DeriveFunctor #-}
import qualified Data.Map as M
newtype Fix f = Fix { unFix :: f (Fix f) }
cata :: Functor f => (f b -> b) -> Fix f -> b
cata phi = self
は、私は(それが何をするか、実際に、または!)Haskellのrecursion-schemesパッケージから、この非常に抽象的再帰関数がどのように機能するかを理解しようとしています - this fileから:特に class Functor (Base t) => Corecursive t where
[...]
-- | A generalized postprom