Proposal: Turn on ScopedTypeVariables by default

Ben Franksen ben.franksen at
Mon Feb 23 20:09:19 UTC 2015

Brandon Allbery wrote:

> On Mon, Feb 23, 2015 at 12:59 PM, Andrew Farmer <afarmer at>
> wrote:
>> I'm guessing the problem is that its not Haskell 98/2010? I think GHC
>> has a policy to do only what the spec says by default. Is that still
>> true now that AMP is implemented?
> I think the main worry is that it steals syntax, specifically the `forall`
> keyword, which is just an identifier in H'98 and H'2010. (And some
> bikeshedding over `forall` being inappropriate for this use, but I suspect
> that ship sailed long ago.)

The real problem with this syntax is the irregular and completely 
unnecessary overloading of the dot. As if the dot weren't overloaded enough! 
A much better choice would have been

  forall a b c in ...

This could still be changed: we could have both variants in parallel for a 
while, then slowly deprecate the dot and finally scrap it.

"There are two ways of constructing a software design: One way is to
make it so simple that there are obviously no deficiencies and the other
way is to make it so complicated that there are no obvious deficiencies.
The first method is far more difficult."   ― C.A.R. Hoare

More information about the Glasgow-haskell-users mailing list