> 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