On Thu, 2016-07-21 at 14:38 -0400, Richard Eisenberg wrote: > > > > On Jul 21, 2016, at 2:25 PM, Yuras Shumovich <shumovi...@gmail.com> > > 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.
Because I'm a pessimist :) We even can't agree to add `text` to the standard library. > > 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. And you are an optimist. We are lazy, so we'll use whatever is convenient. There are three ways to force people to refrain from using new extensions: - mature alternative compiler exists, so nobody will use your library unless it uses only the common subset of features; - the standard covers all usual needs (I don't think it will be possible in near future, and existence of this email thread proves that.) - new features are not first class citizens; e.g. `cabal check` issues an error (or warning) when you are uploading a package with immature extension used. > > > 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. I'm not against language extensions completely. But using them should be a real pain to prevent people from using then everywhere. Ideally you should have to compile GHC manually to get a particular extension enabled :) > > 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. Great. So I propose to split section "9. GHC Language Features" of the user manual into "Stable language extensions" and "Experimental language extensions", move all the recently added extensions into the latter one, explicitly state in the proposed process that all new extensions go to the "Experimental" subsection initially and specify when they go to the "Stable" subsection. > I think that's what we're trying to do. If you have a good > specification for GADT type inference, that would help us. :) I'd personally prefer to mark GADT and TH as experimental. The difficulties with their standardizing is a sign of immaturity. I regret about each time I used them in production code. > > Richard _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users