[ghc-steering-committee] #392: Clarify modifiers design principle (recommendation: acceptance)

Alejandro Serrano Mena trupill at gmail.com
Thu Dec 23 14:41:26 UTC 2021


 Dear Committee,

As far as I understand, the proposal now allows annotations before
classes/instances/types/… to appear either in its own line or before the
thing, by making semicolons optional (which would be introduced during
parsing if we use a newline).

I think the proposal is ready for acceptance, if no more problems pop up.

Regards,
Alejandro


El 17 dic 2021 23:18:35, Richard Eisenberg <lists at richarde.dev> escribió:

> I've updated the proposal to include an optional semicolon:
> https://github.com/goldfirere/ghc-proposals/blob/clarify-modifiers/proposals/0370-modifiers.rst
>
> Richard
>
> On Jul 26, 2021, at 1:45 PM, Richard Eisenberg <lists at richarde.dev> wrote:
>
> I like the idea of allowing the semicolon, but I believe it should be
> optional, as I stated on GitHub:
> https://github.com/ghc-proposals/ghc-proposals/pull/390#issuecomment-878296938
>
> I'm content to add the (optional) semicolon to #392.
>
> I don't know about the practical ramifications. Vlad may be best
> positioned to answer that.
>
> Richard
>
> On Jul 23, 2021, at 3:53 AM, Alejandro Serrano Mena <trupill at gmail.com>
> wrote:
>
> Dear all,
> Richard has now updated the proposal, but only Arnaud has commented on it.
> I think this requires a few more eyes, since it will permeate the language
> once people start using linear types, and we are already thinking about
> introducing modifiers in other parts.
>
> In fact, I’ve realised that there’s a (grammar) conflict between this
> proposal and https://github.com/ghc-proposals/ghc-proposals/pull/390 (the
> fine-grained pragmas for type classes and instances). This proposal defines
>
> topdecl ::= {modifier} 'type' simpletype '=' type
> | {modifier} 'data' [context '=>'] simpletype ['=' constrs] [deriving]
> | {modifier} 'newtype' [context '=>'] simpletype = newconstr [deriving]
> | {modifier} 'class' [scontext '=>'] tycls tyvar ['where' cdecls]
> | {modifier} 'instance' [scontext '=>'] qtycls inst ['where' idecls]
>
> But #390 defines (note the ; at the end of the modifiers block):
>
> modifiers : {- empty -} | ('%' qtycon)* ';'
> cl_decl : modifiers 'class' tycl_hdr fds where_cls
>
> I guess we should sort this out before accepting any of them.
>
> Alejandro
>
> El 28 jun 2021 21:26:45, Alejandro Serrano Mena <trupill at gmail.com>
> escribió:
>
>> Richard, will you take care of making those small changes to the
>> proposal? That way we could mark this as accepted.
>>
>> Regards,
>> Alejandro
>>
>> El 28 jun 2021 9:01:28, Spiwack, Arnaud <arnaud.spiwack at tweag.io>
>> escribió:
>>
>>> Yes, I believe that Richard and I are in agreement now. I don't think
>>> all the conclusions have been added to the proposal yet, though; but
>>> whatever's left, it's fairly minor.
>>>
>>> On Thu, Jun 24, 2021 at 1:29 PM Alejandro Serrano Mena <
>>> trupill at gmail.com> wrote:
>>>
>>>> Dear all,
>>>> This discussion has been dormant for some time, but it’s time to revive
>>>> it!
>>>>
>>>> Richard, Arnaud, did you manage to reach conclusion about the
>>>> modification to the proposal?
>>>>
>>>> Apart from that, is there any other concern about the proposal? As I
>>>> said in my original message, this is a very small amendment to an
>>>> already-existing proposal, so if we accepted the previous one I see no
>>>> problem in this one. I’ll wait until Richard and Arnaud get back on the
>>>> issue, and then assume that silence for a week is acceptance.
>>>>
>>>> Regards,
>>>> Alejandro
>>>>
>>>> El 11 jun 2021 14:55:41, Spiwack, Arnaud <arnaud.spiwack at tweag.io>
>>>> escribió:
>>>>
>>>>> I think that my discussion with Richard has come to a conclusion (it
>>>>> should incur a small modification to the proposal).
>>>>>
>>>>> It is a very small (amendment to a) proposal, let's find a consensus
>>>>> on this one quickly.
>>>>>
>>>>>
>>>>> On Wed, May 12, 2021 at 11:26 AM Spiwack, Arnaud <
>>>>> arnaud.spiwack at tweag.io> wrote:
>>>>>
>>>>>> I've commented on the PR [
>>>>>> https://github.com/ghc-proposals/ghc-proposals/pull/392#pullrequestreview-657652189
>>>>>> ] the changes on the syntax of lambda expressions are not motivated at all,
>>>>>> I think at the very least there should be a discussion in the Alternatives
>>>>>> section.
>>>>>>
>>>>>> But mostly, I'm worried about the implications/interactions that
>>>>>> these changes have with linear types.
>>>>>>
>>>>>> (I'll be off for the rest of the week starting tonight, so I'll be
>>>>>> back on this conversation on Monday, most likely)
>>>>>>
>>>>>> On Tue, May 11, 2021 at 10:10 AM Alejandro Serrano Mena <
>>>>>> trupill at gmail.com> wrote:
>>>>>>
>>>>>>> Dear Committee,
>>>>>>> This proposal seems a natural extension of #370, covering some
>>>>>>> additional cases (modifiers to classes and other declarations) that we’ve
>>>>>>> found along the way. My recommendation is acceptance.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Alejandro
>>>>>>>
>>>>>>> On 4 May 2021 at 09:41:56, Joachim Breitner <
>>>>>>> mail at joachim-breitner.de> wrote:
>>>>>>>
>>>>>>>> Dear Committe,
>>>>>>>>
>>>>>>>> Clarify modifiers design principle
>>>>>>>> has been proposed by Richard
>>>>>>>> https://github.com/ghc-proposals/ghc-proposals/pull/392
>>>>>>>>
>>>>>>>> This is an amendmend to #370, see the PR description for links to
>>>>>>>> diffs
>>>>>>>> etc.
>>>>>>>>
>>>>>>>> I propose Alejandro as the shepherd, as he shepherded #370 before.
>>>>>>>>
>>>>>>>> Please guide us to a conclusion as outlined in
>>>>>>>> https://github.com/ghc-proposals/ghc-proposals#committee-process
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Joachim
>>>>>>>> --
>>>>>>>> --
>>>>>>>> Joachim Breitner
>>>>>>>>  mail at joachim-breitner.de
>>>>>>>>  http://www.joachim-breitner.de/
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> 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
>
>
> _______________________________________________
> 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/20211223/71ec43b7/attachment.html>


More information about the ghc-steering-committee mailing list