> http://research.microsoft.com/~simonpj/papers/hmap/
The technique you describe in that paper is exactly what I was wanting for many times. I often stopped using algebraic data types because of the immense amount of boilerplate I had to introduce. Thanks! But now I have a question regarding the forall. What does it do? How do I have to read a type definition with foralls? Or more concrete: What is the difference between (forall b. Term b => b -> b) -> a -> a and (Term b) => (b -> b) -> a -> a ? Markus _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell