[ghc-steering-committee] Modifiers and #512: NoFieldSelectors

Arnaud Spiwack arnaud.spiwack at tweag.io
Mon Dec 18 08:59:30 UTC 2023


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> 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> 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>
> 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
>> Thread 2:
>> 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
>> _______________________________________________
>> 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
>


-- 
Arnaud Spiwack
Director, Research at https://moduscreate.com and https://tweag.io.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20231218/8fcaa370/attachment-0001.html>


More information about the ghc-steering-committee mailing list