ここで h :: (Type -> Type) -> Type -> Type

Reply to this note

Please Login to reply.

Discussion

基本的なところを書くだけなら、それほど難しくもないのかな。腰をすえてやってみようかな。名前はYaftyとかかな。

data HFreer h a = Pure a | forall x . h (HFreer h) x :>>= (x -> HFreer h a)