It is really too bad the 'middle' version does not work, ie

John Fairbarn's version

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

John Meacham's version (dual (?))

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

Or something in the middle

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

but ghci -fglasgow-exts does not like it :-(

Jacques

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

Reply via email to