Dear Committee Members,
Our previous discussion regarding #512 was inconclusive.
#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