Proposal process status

Richard Eisenberg rae at
Thu Jul 21 18:38:56 UTC 2016

> On Jul 21, 2016, at 2:25 PM, Yuras Shumovich <shumovichy at> wrote:
> It is hopeless. Haskell2020 will not include TemplateHaskell, GADTs,
> etc.

Why do you say this? I don't think this is a forgone conclusion. I'd love to see these standardized.

My own 2ยข on these are that we can standardize some subset of TemplateHaskell quite easily. GADTs are harder because (to my knowledge) no one has ever written a specification of type inference for GADTs. (Note that the OutsideIn paper admits to failing at this.) Perhaps we can nail it, but perhaps not. Even so, we can perhaps standardize much of the behavior around GADTs (but with pattern matches requiring lots of type annotations) and say that an implementation is free to do better. Maybe we can do even better than this, but I doubt we'll totally ignore this issue.

> Haskell Prime committee will never catch up if GHC will continue
> adding new extensions.

Of course not. But I believe some libraries also refrain from using new extensions for precisely the same reason -- that the new extensions have yet to fully gel.

> In 2020 everybody will use pattern synonyms,
> overloaded record fields and TypeInType, so the standard will be as far
> from practice as it is now.

Pattern synonyms, now with a published paper behind them, may actually be in good enough shape to standardize by 2020. I don't know anything about overloaded record fields. I'd be shocked if TypeInType is ready to standardize by 2020. But hopefully we'll get to it.

> The whole idea of language extensions, as it is right now, works
> against Haskell Prime.

I heartily disagree here. Ideas that are now standard had to have started somewhere, and I really like (in theory) the way GHC/Haskell does this.

The (in theory) parenthetical is because the standardization process has been too, well, dead to be useful. Is that changing? Perhaps. I'd love to see more action on that front. I'm hoping to take on a more active role in the committee after my dissertation is out the door (2 more weeks!).
> I see only one real way to change the situation -- standardize all
> widely used extensions and declare anything new as experimental unless
> accepted by the Haskell Prime Committee.

Agreed here. I think that's what we're trying to do. If you have a good specification for GADT type inference, that would help us. :)


More information about the ghc-devs mailing list