> I'm pretty sure you can define a catamorphism for any regular algebraic
> data type.

Actually, so-called negative occurrences in (regular) data types cause
problems.  Try to define the catamorphism of

    data Exp = Num Int | Lam (Exp -> Exp) | App Exp Exp

to see the problem,


        Stefan

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to