Jon Fairbairn wrote:
If you allow quantification over higher
kinds, you can do something like this:

   d f = f . f

   d:: âa::*, b::*â*.(b a â a) â b (b a)â a


What's the problem with

d :: (forall c . b c -> c) -> b (b a) -> a
d f = f . f

to which ghci gives the type

d :: forall a b. (forall c. b c -> c) -> b (b a) -> a

Jim

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

Reply via email to