[Haskell-cafe] Re: [Haskell] Lexically scoped type variables

Bulat Ziganshin bulat.ziganshin at gmail.com
Wed Oct 18 10:18:49 EDT 2006

Hello Simon,

Wednesday, October 18, 2006, 12:09:40 PM, you wrote:

> Other alternatives would be: do something about partial type
> signatures; or make GADT type inference more sophisticated (and
> thereby perhaps less predicatable).

just one more problem is that this issue is too complicated. i'm not
sure that i correctly understands details, but for me the situation
seems like this: in 6.4 it was no distinction between declarations and
usages of type variables - first use declared it, while in 6.6 we have
exactly defined places to declare type variable. the problem is that
sometimes we want to declare variable for one type but the place where
it may be declared - function signature - requires to write full type

so, if my understanding is correct, may be it's possible to use
special syntax for explicit _declaration_ of type variable at any
place where it can be used? i mean the following:

f (x :: forall a. a) = undefined::a

here, we use 'forall' to explicitly declare new type variable. so it
is equivalent to the following:

f :: forall a. a -> ...
f x = undefined::a

where '...' used to make partial type signature

Best regards,
 Bulat                            mailto:Bulat.Ziganshin at gmail.com

More information about the Haskell-Cafe mailing list