1 Mar
2005
1 Mar
'05
3:54 p.m.
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