[ghc-steering-committee] Modifiers and #512: NoFieldSelectors
Simon Peyton Jones
simon.peytonjones at gmail.com
Sat Jan 13 21:53:21 UTC 2024
I agree with this.
Simon
On Sat, 13 Jan 2024 at 21:19, Adam Gundry <adam at well-typed.com> wrote:
> It's certainly unfortunate that this proposal has been stalled for so long.
>
> I think there is rough consensus that modifiers-style syntax would be
> preferable to the pragma syntax suggested in the proposal. That's
> slightly different from requiring Modifiers in its full glory to be
> implemented prior to this proposal, because one could implement the
> proposal more directly (e.g. having the parser recognise
> %NoFieldSelectors just as it could recognise {-# NoFieldSelectors #-}).
> Thus we don't need a synchronisation point: if necessary the amended
> NoFieldSelectors proposal can be implemented first and then the
> Modifiers implementation can generalise it.
>
> So I'd suggest we "conditionally accept" the proposal, on the basis that
> it is amended to use modifier syntax, giving a clear signal to the
> author that the proposal isn't going to get stuck again. By
> "conditionally accept" I mean we wouldn't insist on another full round
> of committee review once the revisions are made.
>
> Also, given the delays, I think it would be best if one of us offers to
> take care of the work of revising the proposal, rather than requiring
> the author to do it (but of course asking their opinion on this proposed
> approach).
>
> Does this sound reasonable? Some of this may be what Vlad means by
> "Revise the proposal to use modifiers-based syntax and then accept", I'm
> not sure.
>
> Cheers,
>
> Adam
>
>
> On 18/12/2023 08:59, Arnaud Spiwack wrote:
> > Here's my thought.
> >
> > If the modifiers implementation arrives before #512 is implemented, then
> > it's fair to amend the proposal. If the modifiers implementation arrives
> > after #512 is implemented, then it will be time to amend the proposal,
> > add the modifier version of #512, and deprecate the pragma. If there
> > hasn't been a release of the pragma version, then it can be deleted
> > entirely. I don't really feel there needs to be additional
> > synchronisation points imposed onto contributors.
> >
> > On Thu, 14 Dec 2023 at 13:35, Richard Eisenberg <rae at richarde.dev
> > <mailto:rae at richarde.dev>> wrote:
> >
> > Concur. Let's boldly go into the future with modifiers. :)
> >
> > Thanks, Vlad.
> >
> > Richard
> >
> >> On Dec 11, 2023, at 4:31 PM, Simon Peyton Jones
> >> <simon.peytonjones at gmail.com <mailto:simon.peytonjones at gmail.com>>
> >> wrote:
> >>
> >> If we choose to revise, I volunteer to implement Modifiers in
> >> time for GHC 9.12
> >>
> >>
> >> Like Joachim, this changes the situation a lot. Thank you for
> >> offering. You are an excellent implementor, and if you say you'll
> >> do it, I'm sure you will. Don't forget that, to be useful for the
> >> author, the modifiers need to be in Template-Haskell-generated
> >> syntax too.
> >>
> >> With that in mind:
> >>
> >> * [ x] Revise the proposal to use modifiers-based syntax and then
> >> accept
> >>
> >> I'm sure the author will be happy to use modifier syntax -- he
> >> just needs to be sure that doing so won't block the feature and
> >> your offer gives him that surety.
> >>
> >> Simon
> >>
> >> On Mon, 11 Dec 2023 at 12:40, Vladislav Zavialov
> >> <vlad.z.4096 at gmail.com <mailto:vlad.z.4096 at gmail.com>> wrote:
> >>
> >> Dear Committee Members,
> >>
> >> Our previous discussion regarding #512 was inconclusive.
> >>
> >> Thread 1:
> >>
> https://mail.haskell.org/pipermail/ghc-steering-committee/2022-November/002991.html
> <
> https://mail.haskell.org/pipermail/ghc-steering-committee/2022-November/002991.html
> >
> >> Thread 2:
> >>
> https://mail.haskell.org/pipermail/ghc-steering-committee/2022-December/003015.html
> <
> https://mail.haskell.org/pipermail/ghc-steering-committee/2022-December/003015.html
> >
> >>
> >> #512 is the proposal that introduces per-declaration,
> >> per-constructor, and per-field NoFieldSelectors annotations.
> >>
> >> I'm not quite sure how to summarize the discussion because
> >> everyone seems to have a unique view. But it all revolves
> >> around a syntactic issue: should the proposal use pragma-based
> >> syntax or modifiers-based syntax?
> >>
> >> Here are two facts to inform your opinion:
> >>
> >> 1. The Modifiers proposal is accepted, and it makes sense to
> >> use it for the proposed feature
> >> 2. The Modifiers proposal is, however, unimplemented
> >>
> >> So at the moment #512 says that we'd first introduce the
> >> pragma-based syntax, and when Modifiers are implemented we
> >> could deprecate the pragma-based syntax in favor of Modifiers.
> >>
> >> I am *strongly* opposed to introducing a feature that we know
> >> is destined for deprecation. But not everyone shares this
> >> attitude, apparently, so let's vote.
> >>
> >> Here are the options. Select all that you find acceptable
> >> (multiple-choice):
> >> * [ ] Accept the proposal with pragma-based syntax, then
> >> deprecate it and switch to modifiers-based syntax
> >> * [ ] Accept the proposal with pragma-based syntax, do not
> >> switch to modifiers-based syntax
> >> * [ ] Revise the proposal to use modifiers-based syntax and
> >> then accept
> >> * [ ] Reject the proposal regardless of syntax
> >>
> >> Before you vote, let me try to sway you towards the "revise"
> >> option. If we choose to revise, I volunteer to implement
> >> Modifiers in time for GHC 9.12. I believe Modifiers are a
> >> splendid idea and I envision many good uses for them.
> >>
> >> Vlad
>
>
> --
> Adam Gundry, Haskell Consultant
> Well-Typed LLP, https://www.well-typed.com/
>
> Registered in England & Wales, OC335890
> 27 Old Gloucester Street, London WC1N 3AX, England
>
> _______________________________________________
> 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/20240113/9f02ae2c/attachment.html>
More information about the ghc-steering-committee
mailing list