On Wed, Jan 4, 2012 at 08:41, Yves Parès <limestr...@gmail.com> wrote:

> Would you try:
>
> f :: a -> a
> f x = undefined :: a
>
> And tell me if it works? IMO it doesn't.


It won't; a will be a new type variable unrelated to the one in the
signature, in the absence of ScopedTypeVariables and an explicit forall in
the signature.

As I understand it, without ScopedTypeVariables the scope of type variables
in the signature is exactly the signature; with ScopedTypeVariables *and*
an explicit forall, the scope includes the equation.

Also, I should mention that the extensions-free way to do this kind of
thing is judicious use of asTypeOf.

-- 
brandon s allbery                                      allber...@gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to