[ghc-steering-committee] GHC 2020

Alejandro Serrano Mena trupill at gmail.com
Thu Sep 17 15:39:08 UTC 2020


I agree with using the criteria that Richard posted + the addition by
Simon. Just in case somebody hadn't looked at the wiki, the criteria would
be:

   1.

   The extension is (mostly) conservative: All programs that were accepted
   without the extension remain accepted, and with the same meaning.
   2.

   New failure modes that become possible with the extension are rare
   and/or easy to diagnose. (These failure modes include new error messages,
   wrong inferred types, and runtime errors, for example.)
   3.

   The extensions complement the design of standard Haskell. (This one
   seems the most subjective.)
   4.

   The extension has been -- and can reasonably be predicted to remain --
   stable.
   5.

   The extension is not to gate-keep an advanced or potentially-unsafe
   feature.
   6. The extension is widely-used.

For example, should we add to (6) "in current developments"? What about
things like "EmptyDataDecls", which are just straightforward
generalizations of what Haskell 2010 already allows, although in practice
the only data type you would ever need to be empty is "Void"?

Alejandro

El jue., 17 sept. 2020 a las 16:42, Simon Marlow (<marlowsd at gmail.com>)
escribió:

> I think there should be some requirement that an extension be widely-used
> (for some suitable definition of that), before we ratify it in GHC2020.
> Some of the extensions that made it past the first round of filtering are
> not widely-used, and would be therefore probably be controversial additions
> to a language standard - e.g. ViewPatterns, ParallelListComp, RecursiveDo
> to name a few that I noticed straight off. I think it's a good idea to be
> conservative here.
>
> Cheers
> Simon
>
> On Thu, 10 Sep 2020 at 10:29, Spiwack, Arnaud <arnaud.spiwack at tweag.io>
> wrote:
>
>> There seems to be some question about who should drive this debate. But
>> there is something we all seem to agree on: it is our role, as the steering
>> committee, to announce the criteria by which we intend to judge the
>> reasonableness of each potential candidate extension.
>>
>> So, let me suggest that we start discussing that, and move back to how
>> this discussion ought to be driven when we are a bit clearer on the
>> criteria.
>>
>> Richard wrote a bunch of criteria in the wiki page upthread [1]. I think
>> that they are worthy of discussion. So let me ask the question: do we agree
>> with all these criteria? do we want to add more?
>>
>> [1]: https://github.com/ghc-proposals/ghc-proposals/wiki/GHC2020
>>
>> On Wed, Sep 9, 2020 at 12:17 PM Alejandro Serrano Mena <trupill at gmail.com>
>> wrote:
>>
>>> I would rather make the process Committee-driven, because otherwise it
>>> may derail into too many micro-discussions. I think it's better to start a
>>> conversation saying "this is our proposal, here are our criteria, here are
>>> the exceptions we want to make", and then discuss from there.
>>>
>>> Regards,
>>> Alejandro
>>>
>>>
>>> El mar., 8 sept. 2020 a las 14:01, Eric Seidel (<eric at seidel.io>)
>>> escribió:
>>>
>>>> I think we may want to have the Committee initiate and drive the
>>>> process. I think a GHC20XX proposal will turn into a bunch of micro
>>>> proposals and discussions about individual (groups of) extensions, and it
>>>> will be hard to track all of the threads of discussion in a single GitHub
>>>> thread. We’ve dealt with long and contentious discussions before, but they
>>>> were much more focused than GHC20XX will be, by design.
>>>>
>>>> I suggested earlier that an alternative strategy could be to open a new
>>>> repo where the community can collaborate on GHC20XX via a familiar PR-based
>>>> process, with each proposed group of extensions getting its own PR and
>>>> discussion. There are a few open questions here though. When/how do we
>>>> decide that it’s time for a new standard? How do we decide when the full
>>>> proposal is ready for review? Do we need to review and sign off on each
>>>> group of extensions separately or only the final product?
>>>>
>>>> This process would be a lot more work for us, so I’m happy to try the
>>>> usual process first, and I’ll be happy to be proved wrong. But we should be
>>>> prepared to step in and add some more structure if needed.
>>>>
>>>> Regardless, the first step should be to update our docs to express
>>>> interest in GHC20XX proposals, establish criteria for including language
>>>> extensions, and outline a process for submitting them.
>>>>
>>>> Eric
>>>>
>>>> Sent from my iPhone
>>>>
>>>> On Sep 8, 2020, at 06:37, Simon Peyton Jones <simonpj at microsoft.com>
>>>> wrote:
>>>>
>>>> 
>>>>
>>>> Personally I don’t think we should make the Steering Committee
>>>> responsible for initiating or driving this.  We should
>>>>
>>>>    - establish the criteria (including some idea of how frequently
>>>>    we’d be open to creating a new GHCxx version),
>>>>    - express open-ness to a proposal, and then
>>>>    - review proposals when/if they materialise.
>>>>
>>>>
>>>>
>>>> It’d be fine for Alejandro, as an individual, to be a proposer. But
>>>> that’s different from making the committee *responsible*.
>>>>
>>>>
>>>>
>>>> What do others think?
>>>>
>>>>
>>>>
>>>> Simon
>>>>
>>>>
>>>>
>>>> *From:* Alejandro Serrano Mena <trupill at gmail.com>
>>>> *Sent:* 08 September 2020 09:13
>>>> *To:* Simon Peyton Jones <simonpj at microsoft.com>
>>>> *Cc:* Richard Eisenberg <rae at richarde.dev>; Eric Seidel <eric at seidel.io>;
>>>> ghc-steering-committee at haskell.org
>>>> *Subject:* Re: [ghc-steering-committee] GHC 2020
>>>>
>>>>
>>>>
>>>> Dear all,
>>>>
>>>> I would really like to move this forward, and I would be happy to put
>>>> some work on it.
>>>>
>>>>
>>>>
>>>> What do you think of the following plan?
>>>>
>>>> - Create a ghc-proposal based on the (awesome) wiki page by Richard. I
>>>> think the criteria in the wiki are quite nice. Explain that one of the
>>>> goals is to encompass as many stable extensions as possible.
>>>>
>>>> - Reformat the list to make 3 tables: one for extensions which satisfy
>>>> all 5 criteria, one for extensions we want to include even if they don't,
>>>> and one for those which should be rejected in the light of those criteria.
>>>>
>>>>
>>>>
>>>> If the process works well, we could think about instaurating a
>>>> yearly/bi-yearly/n-yearly process to create new -XGHC20XX versions.
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Alejandro
>>>>
>>>>
>>>>
>>>> El lun., 7 sept. 2020 a las 17:32, Simon Peyton Jones via
>>>> ghc-steering-committee (<ghc-steering-committee at haskell.org>) escribió:
>>>>
>>>> Just back from holiday. Some thoughts
>>>>
>>>> * I don’t think this mailing list is the best place for the
>>>>   discussion.  Basically, it's a GHC Proposal, so someone (possibly
>>>>   a committee member, possibly not) should write a proposal,
>>>>   and we should put it through the process.
>>>>
>>>> * We should advertise the criteria, as Richard has done on the
>>>>   wiki page.
>>>>
>>>> * Any such proposal should be informed by data. Notably, extension usage
>>>>   in Hackage, or perhaps Stackage (since it's a bit more curated).
>>>>
>>>> * A proposer might also want to run a public poll, as an additional
>>>>   source of data
>>>>
>>>> * When it comes to the committee, we can (I guess) vote on individual
>>>>   extensions, rather than just accept/reject the whole thing.
>>>>
>>>> I am intrigued by the idea of using Kialo to coordinate discussion.
>>>> Maybe it'd work better than GitHub?  Are there other alternatives?
>>>> But that's orthogonal to the GHC 2020 idea; let's not conflate them.
>>>>
>>>> Simon
>>>>
>>>> |  -----Original Message-----
>>>> |  From: ghc-steering-committee <ghc-steering-committee-
>>>> |  bounces at haskell.org> On Behalf Of Richard Eisenberg
>>>> |  Sent: 02 September 2020 14:57
>>>> |  To: Eric Seidel <eric at seidel.io>
>>>> |  Cc: ghc-steering-committee at haskell.org
>>>> |  Subject: Re: [ghc-steering-committee] GHC 2020
>>>> |
>>>> |  It seems clear that my wiki idea isn't winning the day -- I never
>>>> |  really liked it either. I'd be fine with either Eric's or Joachim's
>>>> |  approaches. Maybe start with Joachim's approach and then use Eric's
>>>> |  when Joachim's runs out of steam? A big minus, though, to Joachim's
>>>> |  approach is that it seems hard to get good community involvement.
>>>> |
>>>> |  Richard
>>>> |
>>>> |  > On Sep 2, 2020, at 8:11 AM, Eric Seidel <eric at seidel.io> wrote:
>>>> |  >
>>>> |  > Opening a regular discussion about whether and how we want to work
>>>> on
>>>> |  GHC 2020 sounds fine, that will also give the community a place to
>>>> |  weigh in. I do think the eventual contents should be informed by the
>>>> |  community though, it shouldn’t just be us working alone.
>>>> |  >
>>>> |  > Sent from my iPhone
>>>> |  >
>>>> |  >> On Sep 2, 2020, at 03:16, Joachim Breitner <mail at joachim-
>>>> |  breitner.de
>>>> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbreitner.de%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Cfaa7b2a148fd4381512c08d853cf0a81%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637351495986435664&sdata=Vfd5PeSlx%2FqLuT96wFjzBj0%2FVPgXrNqH%2FMgSj8g2QiM%3D&reserved=0>>
>>>> wrote:
>>>> |  >>
>>>> |  >> Hi,
>>>> |  >>
>>>> |  >> sounds plausible. It would also allow us to use tags to easily
>>>> |  indicate
>>>> |  >> the status (e.g. clearly-not, definitely-yes, kinda-contested…),
>>>> and
>>>> |  >> then filter by issue to get the current list…
>>>> |  >>
>>>> |  >> But before we go there, shouldn’t we maybe have a discussion first
>>>> |  on
>>>> |  >>
>>>> |  >> * do we even want that?
>>>> |  >> * what are the abstract criteria (or guidelines)?
>>>> |  >> * what is the process?
>>>> |  >>
>>>> |  >> I believe that discussion could be done like any other proposal.
>>>> |  >>
>>>> |  >>
>>>> |  >> As for the process; when I brought up the idea, I was worried
>>>> about
>>>> |  us
>>>> |  >> spending huge resources discussion individual extensions to death,
>>>> |  and
>>>> |  >> proposed, in the interest of efficiency and getting things done:
>>>> |  >>
>>>> |  >>> The process could be: Every member can nominate any number of
>>>> |  >>> extensions, to include, maybe a small rationale and then we do
>>>> one
>>>> |  >>> round of independent approval voting, requiring a supermajority
>>>> to
>>>> |  >>> really only pick uncontested extensions.
>>>> |  >>
>>>> |  >> So instead of long debates, we start with GHC2020 being just those
>>>> |  >> extensions that a supermajority on the committee considers to be
>>>> ok.
>>>> |  >>
>>>> |  >> This is much more lightweight process that we could get done in a
>>>> |  week
>>>> |  >> or two (maybe using a doodle-like voting page). Maybe we would
>>>> leave
>>>> |  >> out one or two extension that initially people are reserved about,
>>>> |  but
>>>> |  >> could be swayed after lengthy discussions. But is that worth the
>>>> |  >> lengthy discussion?
>>>> |  >>
>>>> |  >> cheers,
>>>> |  >> Joachim
>>>> |  >>
>>>> |  >> --
>>>> |  >> Joachim Breitner
>>>> |  >> mail at joachim-breitner.de
>>>> |  >>
>>>> |
>>>> https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.jo
>>>> |  achim-
>>>> |  breitner.de
>>>> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbreitner.de%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Cfaa7b2a148fd4381512c08d853cf0a81%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637351495986445657&sdata=O%2FFcf9XZLsKRW8ESW57%2B37Rp3WNt81xKPDn25QbT5Ng%3D&reserved=0>
>>>> %2F&data=02%7C01%7Csimonpj%40microsoft.com
>>>> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2F40microsoft.com%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Cfaa7b2a148fd4381512c08d853cf0a81%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637351495986445657&sdata=d98tn5pWeuHRDUn0PvEjhkMNFvFPvhtG00K2t2m2o9Y%3D&reserved=0>
>>>> %7Cfa6e3a6bcdf
>>>> |
>>>> 04ed5611208d84f480f21%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6373
>>>> |
>>>> 46518199468575&sdata=ABgJCFijwzYszRybc0kReMPdR7oSLzC1nV1xJYSlxQ0%3D
>>>> |  &reserved=0
>>>> |  >>
>>>> |  >>
>>>> |  >> _______________________________________________
>>>> |  >> ghc-steering-committee mailing list
>>>> |  >> ghc-steering-committee at haskell.org
>>>> |  >>
>>>> |
>>>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.
>>>> |  haskell.org
>>>> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fhaskell.org%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Cfaa7b2a148fd4381512c08d853cf0a81%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637351495986455654&sdata=jxJvPglvK%2BitmPb3xLo%2F8bXb53%2BwNzdIy8dcJvG9Af8%3D&reserved=0>
>>>> %2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-
>>>> |  committee&data=02%7C01%7Csimonpj%40microsoft.com
>>>> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2F40microsoft.com%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Cfaa7b2a148fd4381512c08d853cf0a81%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637351495986455654&sdata=%2FucisRwNnqOdjz%2FSbofsoiGsZ5AqiMAEBPzJDb2cVLw%3D&reserved=0>
>>>> %7Cfa6e3a6bcdf04ed5
>>>> |
>>>> 611208d84f480f21%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637346518
>>>> |
>>>> 199468575&sdata=H1hFiX8qnuf%2FlYeNXfEE5j5Aik3dlVvsujoHOt%2FHTnw%3D&
>>>> |  amp;reserved=0
>>>> |  >
>>>> |  > _______________________________________________
>>>> |  > ghc-steering-committee mailing list
>>>> |  > ghc-steering-committee at haskell.org
>>>> |  >
>>>> |
>>>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.
>>>> |  haskell.org
>>>> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fhaskell.org%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Cfaa7b2a148fd4381512c08d853cf0a81%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637351495986465647&sdata=pV4zqeHk1VUOJ46TaHvvQzvKnMzsbRytBuZNW7Gvqnw%3D&reserved=0>
>>>> %2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-
>>>> |  committee&data=02%7C01%7Csimonpj%40microsoft.com
>>>> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2F40microsoft.com%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Cfaa7b2a148fd4381512c08d853cf0a81%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637351495986465647&sdata=uAyqrWp9qv8ITFhpkFmg3C%2F%2F3yDo404jsMfqQAeIWoI%3D&reserved=0>
>>>> %7Cfa6e3a6bcdf04ed5
>>>> |
>>>> 611208d84f480f21%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637346518
>>>> |
>>>> 199468575&sdata=H1hFiX8qnuf%2FlYeNXfEE5j5Aik3dlVvsujoHOt%2FHTnw%3D&
>>>> |  amp;reserved=0
>>>> |
>>>> |  _______________________________________________
>>>> |  ghc-steering-committee mailing list
>>>> |  ghc-steering-committee at haskell.org
>>>> |
>>>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.
>>>> |  haskell.org
>>>> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fhaskell.org%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Cfaa7b2a148fd4381512c08d853cf0a81%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637351495986475642&sdata=bBS5y5cQwD%2FlO9vxXeji9G3hgOxQD4nQLL6%2BPZartTE%3D&reserved=0>
>>>> %2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-
>>>> |  committee&data=02%7C01%7Csimonpj%40microsoft.com
>>>> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2F40microsoft.com%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Cfaa7b2a148fd4381512c08d853cf0a81%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637351495986475642&sdata=gyrumWxTU8xU70i03Ec1vsBVl%2BZeLQISVWkVT18nG7k%3D&reserved=0>
>>>> %7Cfa6e3a6bcdf04ed5
>>>> |
>>>> 611208d84f480f21%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637346518
>>>> |
>>>> 199468575&sdata=H1hFiX8qnuf%2FlYeNXfEE5j5Aik3dlVvsujoHOt%2FHTnw%3D&
>>>> |  amp;reserved=0
>>>> _______________________________________________
>>>> ghc-steering-committee mailing list
>>>> ghc-steering-committee at haskell.org
>>>> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>>>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&data=02%7C01%7Csimonpj%40microsoft.com%7Cfaa7b2a148fd4381512c08d853cf0a81%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637351495986485636&sdata=p07ukOVQF53cYEZwLtpOxn0l95tfeJCrF45iR0HU1mo%3D&reserved=0>
>>>>
>>>> _______________________________________________
>>>> ghc-steering-committee mailing list
>>>> ghc-steering-committee at haskell.org
>>>> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>>>>
>>> _______________________________________________
>>> ghc-steering-committee mailing list
>>> ghc-steering-committee at haskell.org
>>> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>>>
>> _______________________________________________
>> ghc-steering-committee mailing list
>> ghc-steering-committee at haskell.org
>> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20200917/d15eeca4/attachment-0001.html>


More information about the ghc-steering-committee mailing list