1 Mar
2005
1 Mar
'05
4:10 a.m.
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