タグ

ブックマーク / qiita.com/fumieval (1)

  • Recursion schemeとHaskell - Qiita

    Recursion schemeという、foldr、unfoldrを一般化した概念があるらしいのでHaskellで色々実装してみた。あとchronomorphismのかっこよさは異常(←しつこい)。 {-# LANGUAGE StandaloneDeriving, UndecidableInstances #-} import Control.Monad import Control.Monad.Free import Control.Comonad import Control.Comonad.Cofree newtype Fix f = Fix (f (Fix f)) unfix (Fix f) = f deriving instance Show (f (Fix f)) => Show (Fix f) -- morphisms hylo :: Functor f => (f b ->

    Recursion schemeとHaskell - Qiita
    labunix
    labunix 2013/02/02
  • 1