[Haskell] Re: Type of y f = f . f

Jim Apple japple at freeshell.org
Mon Feb 28 23:10:40 EST 2005


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



More information about the Haskell mailing list