#681: Updates to modifier proposal, recommendation: accept
Hey all, ChickenProp has been working on implementing the modifiers proposal (#370 https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0370-mo...), and has fixed some mistakes and omissions ( https://github.com/ghc-proposals/ghc-proposals/pull/681) I had some initial concerns and requested clarification, which has now been addressed. My recommendation is that we *accept*. Here's a summary provided by ChickenProp: * ';' is now allowed in between modifiers attached to decls, and required before the decl. So %One %Two ; data F -- previously allowed, still allowed %One %Two data F -- previously allowed , now forbidden %One ; %Two ; data F -- previously forbidden, now allowed %One ; %Two data F -- previously forbidden, still forbidden Initially, I made the one before the decl required for parsing reasons. I couldn't figure out how to have all of: optional pre-decl semicolon; modifiers attached to expressions; expressions can appear at the top level. (I was getting shift/reduce or reduce/reduce conflicts in the parser.) Since there are no longer modifiers attached to expressions, it could be optional again. But in case we want modifiers on expressions in future, we might want to keep our options open. * No modifiers attached to types or expressions. * `-Wunrecognized-modifiers`, not `-Wunknown-modifiers`. Specify that it's enabled by default. * `-XLinearTypes -XNoModifiers` introduces backwards compatible behavior. * Add non-normative discussion of RN versus TC modifiers. * In the linear-types proposal, update the examples of modifiers attached to lambda-bound variables. I think the examples now match the BNF given. Also, the line "the `lpat` must be a bare variable" was contradicted by syntax elsewhere in the proposal, so remove that. -- -- Matthías Páll Gissurarson http://mpg.is/
I approve.
Simon
On Thu, 13 Nov 2025 at 12:03, Matthías Páll Gissurarson
Hey all,
ChickenProp has been working on implementing the modifiers proposal (#370 https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0370-mo...), and has fixed some mistakes and omissions ( https://github.com/ghc-proposals/ghc-proposals/pull/681)
I had some initial concerns and requested clarification, which has now been addressed.
My recommendation is that we *accept*.
Here's a summary provided by ChickenProp:
* ';' is now allowed in between modifiers attached to decls, and required before the decl. So
%One %Two ; data F -- previously allowed, still allowed %One %Two data F -- previously allowed , now forbidden %One ; %Two ; data F -- previously forbidden, now allowed %One ; %Two data F -- previously forbidden, still forbidden
Initially, I made the one before the decl required for parsing reasons. I couldn't figure out how to have all of: optional pre-decl semicolon; modifiers attached to expressions; expressions can appear at the top level. (I was getting shift/reduce or reduce/reduce conflicts in the parser.) Since there are no longer modifiers attached to expressions, it could be optional again. But in case we want modifiers on expressions in future, we might want to keep our options open.
* No modifiers attached to types or expressions.
* `-Wunrecognized-modifiers`, not `-Wunknown-modifiers`. Specify that it's enabled by default.
* `-XLinearTypes -XNoModifiers` introduces backwards compatible behavior.
* Add non-normative discussion of RN versus TC modifiers.
* In the linear-types proposal, update the examples of modifiers attached to lambda-bound variables. I think the examples now match the BNF given. Also, the line "the `lpat` must be a bare variable" was contradicted by syntax elsewhere in the proposal, so remove that.
-- -- Matthías Páll Gissurarson http://mpg.is/ _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
I'm in favour. On Thu, 13 Nov 2025 at 21:58, Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
I approve.
Simon
On Thu, 13 Nov 2025 at 12:03, Matthías Páll Gissurarson
wrote: Hey all,
ChickenProp has been working on implementing the modifiers proposal (#370 https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0370-mo...), and has fixed some mistakes and omissions ( https://github.com/ghc-proposals/ghc-proposals/pull/681)
I had some initial concerns and requested clarification, which has now been addressed.
My recommendation is that we *accept*.
Here's a summary provided by ChickenProp:
* ';' is now allowed in between modifiers attached to decls, and required before the decl. So
%One %Two ; data F -- previously allowed, still allowed %One %Two data F -- previously allowed , now forbidden %One ; %Two ; data F -- previously forbidden, now allowed %One ; %Two data F -- previously forbidden, still forbidden
Initially, I made the one before the decl required for parsing reasons. I couldn't figure out how to have all of: optional pre-decl semicolon; modifiers attached to expressions; expressions can appear at the top level. (I was getting shift/reduce or reduce/reduce conflicts in the parser.) Since there are no longer modifiers attached to expressions, it could be optional again. But in case we want modifiers on expressions in future, we might want to keep our options open.
* No modifiers attached to types or expressions.
* `-Wunrecognized-modifiers`, not `-Wunknown-modifiers`. Specify that it's enabled by default.
* `-XLinearTypes -XNoModifiers` introduces backwards compatible behavior.
* Add non-normative discussion of RN versus TC modifiers.
* In the linear-types proposal, update the examples of modifiers attached to lambda-bound variables. I think the examples now match the BNF given. Also, the line "the `lpat` must be a bare variable" was contradicted by syntax elsewhere in the proposal, so remove that.
-- -- Matthías Páll Gissurarson http://mpg.is/ _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io.
Agreed.
On Fri, Nov 14, 2025 at 5:11 PM Arnaud Spiwack
I'm in favour.
On Thu, 13 Nov 2025 at 21:58, Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
I approve.
Simon
On Thu, 13 Nov 2025 at 12:03, Matthías Páll Gissurarson
wrote: Hey all,
ChickenProp has been working on implementing the modifiers proposal (# 370 https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0370-mo...), and has fixed some mistakes and omissions ( https://github.com/ghc-proposals/ghc-proposals/pull/681)
I had some initial concerns and requested clarification, which has now been addressed.
My recommendation is that we *accept*.
Here's a summary provided by ChickenProp:
* ';' is now allowed in between modifiers attached to decls, and required before the decl. So
%One %Two ; data F -- previously allowed, still allowed %One %Two data F -- previously allowed , now forbidden %One ; %Two ; data F -- previously forbidden, now allowed %One ; %Two data F -- previously forbidden, still forbidden
Initially, I made the one before the decl required for parsing reasons. I couldn't figure out how to have all of: optional pre-decl semicolon; modifiers attached to expressions; expressions can appear at the top level. (I was getting shift/reduce or reduce/reduce conflicts in the parser.) Since there are no longer modifiers attached to expressions, it could be optional again. But in case we want modifiers on expressions in future, we might want to keep our options open.
* No modifiers attached to types or expressions.
* `-Wunrecognized-modifiers`, not `-Wunknown-modifiers`. Specify that it's enabled by default.
* `-XLinearTypes -XNoModifiers` introduces backwards compatible behavior.
* Add non-normative discussion of RN versus TC modifiers.
* In the linear-types proposal, update the examples of modifiers attached to lambda-bound variables. I think the examples now match the BNF given. Also, the line "the `lpat` must be a bare variable" was contradicted by syntax elsewhere in the proposal, so remove that.
-- -- Matthías Páll Gissurarson http://mpg.is/ _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io. _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
I'm in favour as well. Although the whole RN vs. TC modifiers business makes me shiver. Am Fr., 14. Nov. 2025 um 10:39 Uhr schrieb Moritz Angermann < moritz.angermann@gmail.com>:
Agreed.
On Fri, Nov 14, 2025 at 5:11 PM Arnaud Spiwack
wrote: I'm in favour.
On Thu, 13 Nov 2025 at 21:58, Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
I approve.
Simon
On Thu, 13 Nov 2025 at 12:03, Matthías Páll Gissurarson
wrote: Hey all,
ChickenProp has been working on implementing the modifiers proposal (# 370 https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0370-mo...), and has fixed some mistakes and omissions ( https://github.com/ghc-proposals/ghc-proposals/pull/681)
I had some initial concerns and requested clarification, which has now been addressed.
My recommendation is that we *accept*.
Here's a summary provided by ChickenProp:
* ';' is now allowed in between modifiers attached to decls, and required before the decl. So
%One %Two ; data F -- previously allowed, still allowed %One %Two data F -- previously allowed , now forbidden %One ; %Two ; data F -- previously forbidden, now allowed %One ; %Two data F -- previously forbidden, still forbidden
Initially, I made the one before the decl required for parsing reasons. I couldn't figure out how to have all of: optional pre-decl semicolon; modifiers attached to expressions; expressions can appear at the top level. (I was getting shift/reduce or reduce/reduce conflicts in the parser.) Since there are no longer modifiers attached to expressions, it could be optional again. But in case we want modifiers on expressions in future, we might want to keep our options open.
* No modifiers attached to types or expressions.
* `-Wunrecognized-modifiers`, not `-Wunknown-modifiers`. Specify that it's enabled by default.
* `-XLinearTypes -XNoModifiers` introduces backwards compatible behavior.
* Add non-normative discussion of RN versus TC modifiers.
* In the linear-types proposal, update the examples of modifiers attached to lambda-bound variables. I think the examples now match the BNF given. Also, the line "the `lpat` must be a bare variable" was contradicted by syntax elsewhere in the proposal, so remove that.
-- -- Matthías Páll Gissurarson http://mpg.is/ _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io. _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
Pinging again on this one, we've got 5 accepts so far, I'd like to get one
more (majority) and then we can merge this.
On Tue, 18 Nov 2025 at 09:28, Sebastian Graf
I'm in favour as well. Although the whole RN vs. TC modifiers business makes me shiver.
Am Fr., 14. Nov. 2025 um 10:39 Uhr schrieb Moritz Angermann < moritz.angermann@gmail.com>:
Agreed.
On Fri, Nov 14, 2025 at 5:11 PM Arnaud Spiwack
wrote: I'm in favour.
On Thu, 13 Nov 2025 at 21:58, Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
I approve.
Simon
On Thu, 13 Nov 2025 at 12:03, Matthías Páll Gissurarson
wrote: Hey all,
ChickenProp has been working on implementing the modifiers proposal (# 370 https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0370-mo...), and has fixed some mistakes and omissions ( https://github.com/ghc-proposals/ghc-proposals/pull/681)
I had some initial concerns and requested clarification, which has now been addressed.
My recommendation is that we *accept*.
Here's a summary provided by ChickenProp:
* ';' is now allowed in between modifiers attached to decls, and required before the decl. So
%One %Two ; data F -- previously allowed, still allowed %One %Two data F -- previously allowed , now forbidden %One ; %Two ; data F -- previously forbidden, now allowed %One ; %Two data F -- previously forbidden, still forbidden
Initially, I made the one before the decl required for parsing reasons. I couldn't figure out how to have all of: optional pre-decl semicolon; modifiers attached to expressions; expressions can appear at the top level. (I was getting shift/reduce or reduce/reduce conflicts in the parser.) Since there are no longer modifiers attached to expressions, it could be optional again. But in case we want modifiers on expressions in future, we might want to keep our options open.
* No modifiers attached to types or expressions.
* `-Wunrecognized-modifiers`, not `-Wunknown-modifiers`. Specify that it's enabled by default.
* `-XLinearTypes -XNoModifiers` introduces backwards compatible behavior.
* Add non-normative discussion of RN versus TC modifiers.
* In the linear-types proposal, update the examples of modifiers attached to lambda-bound variables. I think the examples now match the BNF given. Also, the line "the `lpat` must be a bare variable" was contradicted by syntax elsewhere in the proposal, so remove that.
-- -- Matthías Páll Gissurarson http://mpg.is/ _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io. _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- -- Matthías Páll Gissurarson http://mpg.is/
I am in favor! On 2025-11-19 20:42, Matthías Páll Gissurarson wrote:
Pinging again on this one, we've got 5 accepts so far, I'd like to get one more (majority) and then we can merge this.
On Tue, 18 Nov 2025 at 09:28, Sebastian Graf <[1]sgraf1337@gmail.com> wrote:
I'm in favour as well. Although the whole RN vs. TC modifiers business makes me shiver.
Am Fr., 14. Nov. 2025 um 10:39 Uhr schrieb Moritz Angermann <[2]moritz.angermann@gmail.com>:
Agreed.
On Fri, Nov 14, 2025 at 5:11 PM Arnaud Spiwack <[3]arnaud.spiwack@tweag.io> wrote:
I'm in favour.
On Thu, 13 Nov 2025 at 21:58, Simon Peyton Jones <[4]simon.peytonjones@gmail.com> wrote:
I approve.
Simon
On Thu, 13 Nov 2025 at 12:03, Matthías Páll Gissurarson <[5]mpg@mpg.is> wrote:
Hey all,
ChickenProp has been working on implementing the modifiers proposal (#[6]370), and has fixed some mistakes and omissions ([7]https://github.com/ghc-proposals/ghc-proposals/pull/681)
I had some initial concerns and requested clarification, which has now been addressed.
My recommendation is that we accept.
Here's a summary provided by ChickenProp:
* ';' is now allowed in between modifiers attached to decls, and required before the decl. So
%One %Two ; data F -- previously allowed, still allowed %One %Two data F -- previously allowed , now forbidden %One ; %Two ; data F -- previously forbidden, now allowed %One ; %Two data F -- previously forbidden, still forbidden
Initially, I made the one before the decl required for parsing reasons. I couldn't figure out how to have all of: optional pre-decl semicolon; modifiers attached to expressions; expressions can appear at the top level. (I was getting shift/reduce or reduce/reduce conflicts in the parser.) Since there are no longer modifiers attached to expressions, it could be optional again. But in case we want modifiers on expressions in future, we might want to keep our options open.
* No modifiers attached to types or expressions.
* `-Wunrecognized-modifiers`, not `-Wunknown-modifiers`. Specify that it's enabled by default.
* `-XLinearTypes -XNoModifiers` introduces backwards compatible behavior.
* Add non-normative discussion of RN versus TC modifiers.
* In the linear-types proposal, update the examples of modifiers attached to lambda-bound variables. I think the examples now match the BNF given. Also, the line "the `lpat` must be a bare variable" was contradicted by syntax elsewhere in the proposal, so remove that.
-- -- [8]Matthías Páll Gissurarson
_______________________________________________ ghc-steering-committee mailing list -- [9]ghc-steering-committee@haskell.org To unsubscribe send an email to [10]ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- [11]ghc-steering-committee@haskell.org To unsubscribe send an email to [12]ghc-steering-committee-leave@haskell.org
--
Arnaud Spiwack Director, Research at [13]https://moduscreate.com and [14]https://tweag.io.
_______________________________________________ ghc-steering-committee mailing list -- [15]ghc-steering-committee@haskell.org To unsubscribe send an email to [16]ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- [17]ghc-steering-committee@haskell.org To unsubscribe send an email to [18]ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- [19]ghc-steering-committee@haskell.org To unsubscribe send an email to [20]ghc-steering-committee-leave@haskell.org
--
-- [21]Matthías Páll Gissurarson
References
1. mailto:sgraf1337@gmail.com 2. mailto:moritz.angermann@gmail.com 3. mailto:arnaud.spiwack@tweag.io 4. mailto:simon.peytonjones@gmail.com 5. mailto:mpg@mpg.is 6. https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0370-mo... 7. https://github.com/ghc-proposals/ghc-proposals/pull/681) 8. http://mpg.is/ 9. mailto:ghc-steering-committee@haskell.org 10. mailto:ghc-steering-committee-leave@haskell.org 11. mailto:ghc-steering-committee@haskell.org 12. mailto:ghc-steering-committee-leave@haskell.org 13. https://moduscreate.com/ 14. https://tweag.io/ 15. mailto:ghc-steering-committee@haskell.org 16. mailto:ghc-steering-committee-leave@haskell.org 17. mailto:ghc-steering-committee@haskell.org 18. mailto:ghc-steering-committee-leave@haskell.org 19. mailto:ghc-steering-committee@haskell.org 20. mailto:ghc-steering-committee-leave@haskell.org 21. http://mpg.is/
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
I vote accept. Cheersm Erik Matthías Páll Gissurarson wrote:
Pinging again on this one, we've got 5 accepts so far, I'd like to get one more (majority) and then we can merge this.
On Tue, 18 Nov 2025 at 09:28, Sebastian Graf
wrote: I'm in favour as well. Although the whole RN vs. TC modifiers business makes me shiver.
Am Fr., 14. Nov. 2025 um 10:39 Uhr schrieb Moritz Angermann < moritz.angermann@gmail.com>:
Agreed.
On Fri, Nov 14, 2025 at 5:11 PM Arnaud Spiwack
wrote: I'm in favour.
On Thu, 13 Nov 2025 at 21:58, Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
I approve.
Simon
On Thu, 13 Nov 2025 at 12:03, Matthías Páll Gissurarson
wrote: Hey all,
ChickenProp has been working on implementing the modifiers proposal (# 370 https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0370-mo...), and has fixed some mistakes and omissions ( https://github.com/ghc-proposals/ghc-proposals/pull/681)
I had some initial concerns and requested clarification, which has now been addressed.
My recommendation is that we *accept*.
Here's a summary provided by ChickenProp:
* ';' is now allowed in between modifiers attached to decls, and required before the decl. So
%One %Two ; data F -- previously allowed, still allowed %One %Two data F -- previously allowed , now forbidden %One ; %Two ; data F -- previously forbidden, now allowed %One ; %Two data F -- previously forbidden, still forbidden
Initially, I made the one before the decl required for parsing reasons. I couldn't figure out how to have all of: optional pre-decl semicolon; modifiers attached to expressions; expressions can appear at the top level. (I was getting shift/reduce or reduce/reduce conflicts in the parser.) Since there are no longer modifiers attached to expressions, it could be optional again. But in case we want modifiers on expressions in future, we might want to keep our options open.
* No modifiers attached to types or expressions.
* `-Wunrecognized-modifiers`, not `-Wunknown-modifiers`. Specify that it's enabled by default.
* `-XLinearTypes -XNoModifiers` introduces backwards compatible behavior.
* Add non-normative discussion of RN versus TC modifiers.
* In the linear-types proposal, update the examples of modifiers attached to lambda-bound variables. I think the examples now match the BNF given. Also, the line "the `lpat` must be a bare variable" was contradicted by syntax elsewhere in the proposal, so remove that.
-- -- Matthías Páll Gissurarson http://mpg.is/ _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io. _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- -- Matthías Páll Gissurarson http://mpg.is/
-- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/
Great! I'll wait until monday for any last concerns, and then accept the
proposal as it currently stands.
On Fri, Nov 21, 2025 at 2:51 AM Erik de Castro Lopo
I vote accept.
Cheersm Erik
Matthías Páll Gissurarson wrote:
Pinging again on this one, we've got 5 accepts so far, I'd like to get one more (majority) and then we can merge this.
On Tue, 18 Nov 2025 at 09:28, Sebastian Graf
wrote: I'm in favour as well. Although the whole RN vs. TC modifiers business makes me shiver.
Am Fr., 14. Nov. 2025 um 10:39 Uhr schrieb Moritz Angermann < moritz.angermann@gmail.com>:
Agreed.
On Fri, Nov 14, 2025 at 5:11 PM Arnaud Spiwack < arnaud.spiwack@tweag.io> wrote:
I'm in favour.
On Thu, 13 Nov 2025 at 21:58, Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
I approve.
Simon
On Thu, 13 Nov 2025 at 12:03, Matthías Páll Gissurarson
wrote:
> Hey all, > > ChickenProp has been working on implementing the modifiers proposal (# > 370 > < https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0370-mo... ), > and has fixed some mistakes and omissions ( > https://github.com/ghc-proposals/ghc-proposals/pull/681) > > I had some initial concerns and requested clarification, which has now > been addressed. > > My recommendation is that we *accept*. > > Here's a summary provided by ChickenProp: > > * ';' is now allowed in between modifiers attached to decls, and > required before the decl. So > > %One %Two ; data F -- previously allowed, still allowed > %One %Two data F -- previously allowed > , now forbidden > %One ; %Two ; data F -- previously forbidden, now allowed > %One ; %Two data F -- previously forbidden, still forbidden > > Initially, I made the one before the decl required for parsing > reasons. I couldn't figure out how to have all of: optional pre-decl > semicolon; modifiers attached to expressions; expressions can appear at the > top level. (I was getting shift/reduce or reduce/reduce conflicts in the > parser.) Since there are no longer modifiers attached to expressions, it > could be optional again. But in case we want modifiers on expressions in > future, we might want to keep our options open. > > * No modifiers attached to types or expressions. > > * `-Wunrecognized-modifiers`, not `-Wunknown-modifiers`. Specify that > it's enabled by default. > > * `-XLinearTypes -XNoModifiers` introduces backwards compatible > behavior. > > * Add non-normative discussion of RN versus TC modifiers. > > * In the linear-types proposal, update the examples of modifiers > attached to lambda-bound variables. I think the examples now match the BNF > given. Also, the line "the `lpat` must be a bare variable" was contradicted > by syntax elsewhere in the proposal, so remove that. > > > -- > -- Matthías Páll Gissurarson http://mpg.is/ > _______________________________________________ > ghc-steering-committee mailing list -- > ghc-steering-committee@haskell.org > To unsubscribe send an email to > ghc-steering-committee-leave@haskell.org > _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io. _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- -- Matthías Páll Gissurarson http://mpg.is/
-- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/
It's Monday, and there were no further concerns as far as I can tell :) Should we let the author know that their proposal had been accepted? Am Fr., 21. Nov. 2025 um 15:17 Uhr schrieb Matthías Páll Gissurarson < mpg@mpg.is>:
Great! I'll wait until monday for any last concerns, and then accept the proposal as it currently stands.
On Fri, Nov 21, 2025 at 2:51 AM Erik de Castro Lopo
wrote: I vote accept.
Cheersm Erik
Matthías Páll Gissurarson wrote:
Pinging again on this one, we've got 5 accepts so far, I'd like to get one more (majority) and then we can merge this.
On Tue, 18 Nov 2025 at 09:28, Sebastian Graf
wrote: I'm in favour as well. Although the whole RN vs. TC modifiers business makes me shiver.
Am Fr., 14. Nov. 2025 um 10:39 Uhr schrieb Moritz Angermann < moritz.angermann@gmail.com>:
Agreed.
On Fri, Nov 14, 2025 at 5:11 PM Arnaud Spiwack < arnaud.spiwack@tweag.io> wrote:
I'm in favour.
On Thu, 13 Nov 2025 at 21:58, Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
> I approve. > > Simon > > On Thu, 13 Nov 2025 at 12:03, Matthías Páll Gissurarson < mpg@mpg.is> > wrote: > >> Hey all, >> >> ChickenProp has been working on implementing the modifiers proposal (# >> 370 >> < https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0370-mo... ), >> and has fixed some mistakes and omissions ( >> https://github.com/ghc-proposals/ghc-proposals/pull/681) >> >> I had some initial concerns and requested clarification, which has now >> been addressed. >> >> My recommendation is that we *accept*. >> >> Here's a summary provided by ChickenProp: >> >> * ';' is now allowed in between modifiers attached to decls, and >> required before the decl. So >> >> %One %Two ; data F -- previously allowed, still allowed >> %One %Two data F -- previously allowed >> , now forbidden >> %One ; %Two ; data F -- previously forbidden, now allowed >> %One ; %Two data F -- previously forbidden, still forbidden >> >> Initially, I made the one before the decl required for parsing >> reasons. I couldn't figure out how to have all of: optional pre-decl >> semicolon; modifiers attached to expressions; expressions can appear at the >> top level. (I was getting shift/reduce or reduce/reduce conflicts in the >> parser.) Since there are no longer modifiers attached to expressions, it >> could be optional again. But in case we want modifiers on expressions in >> future, we might want to keep our options open. >> >> * No modifiers attached to types or expressions. >> >> * `-Wunrecognized-modifiers`, not `-Wunknown-modifiers`. Specify that >> it's enabled by default. >> >> * `-XLinearTypes -XNoModifiers` introduces backwards compatible >> behavior. >> >> * Add non-normative discussion of RN versus TC modifiers. >> >> * In the linear-types proposal, update the examples of modifiers >> attached to lambda-bound variables. I think the examples now match the BNF >> given. Also, the line "the `lpat` must be a bare variable" was contradicted >> by syntax elsewhere in the proposal, so remove that. >> >> >> -- >> -- Matthías Páll Gissurarson http://mpg.is/ >> _______________________________________________ >> ghc-steering-committee mailing list -- >> ghc-steering-committee@haskell.org >> To unsubscribe send an email to >> ghc-steering-committee-leave@haskell.org >> > _______________________________________________ > ghc-steering-committee mailing list -- > ghc-steering-committee@haskell.org > To unsubscribe send an email to > ghc-steering-committee-leave@haskell.org >
-- Arnaud Spiwack Director, Research at https://moduscreate.com and https://tweag.io. _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- -- Matthías Páll Gissurarson http://mpg.is/
-- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
Took a bit longer than expected, but it's done now. The proposed amendment
has been accepted!
On Mon, 1 Dec 2025 at 08:43, Sebastian Graf
It's Monday, and there were no further concerns as far as I can tell :) Should we let the author know that their proposal had been accepted?
Am Fr., 21. Nov. 2025 um 15:17 Uhr schrieb Matthías Páll Gissurarson < mpg@mpg.is>:
Great! I'll wait until monday for any last concerns, and then accept the proposal as it currently stands.
On Fri, Nov 21, 2025 at 2:51 AM Erik de Castro Lopo
wrote: I vote accept.
Cheersm Erik
Matthías Páll Gissurarson wrote:
Pinging again on this one, we've got 5 accepts so far, I'd like to get one more (majority) and then we can merge this.
On Tue, 18 Nov 2025 at 09:28, Sebastian Graf
wrote: I'm in favour as well. Although the whole RN vs. TC modifiers business makes me shiver.
Am Fr., 14. Nov. 2025 um 10:39 Uhr schrieb Moritz Angermann < moritz.angermann@gmail.com>:
Agreed.
On Fri, Nov 14, 2025 at 5:11 PM Arnaud Spiwack < arnaud.spiwack@tweag.io> wrote:
> I'm in favour. > > On Thu, 13 Nov 2025 at 21:58, Simon Peyton Jones < > simon.peytonjones@gmail.com> wrote: > >> I approve. >> >> Simon >> >> On Thu, 13 Nov 2025 at 12:03, Matthías Páll Gissurarson < mpg@mpg.is> >> wrote: >> >>> Hey all, >>> >>> ChickenProp has been working on implementing the modifiers proposal (# >>> 370 >>> < https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0370-mo... ), >>> and has fixed some mistakes and omissions ( >>> https://github.com/ghc-proposals/ghc-proposals/pull/681) >>> >>> I had some initial concerns and requested clarification, which has now >>> been addressed. >>> >>> My recommendation is that we *accept*. >>> >>> Here's a summary provided by ChickenProp: >>> >>> * ';' is now allowed in between modifiers attached to decls, and >>> required before the decl. So >>> >>> %One %Two ; data F -- previously allowed, still allowed >>> %One %Two data F -- previously allowed >>> , now forbidden >>> %One ; %Two ; data F -- previously forbidden, now allowed >>> %One ; %Two data F -- previously forbidden, still forbidden >>> >>> Initially, I made the one before the decl required for parsing >>> reasons. I couldn't figure out how to have all of: optional pre-decl >>> semicolon; modifiers attached to expressions; expressions can appear at the >>> top level. (I was getting shift/reduce or reduce/reduce conflicts in the >>> parser.) Since there are no longer modifiers attached to expressions, it >>> could be optional again. But in case we want modifiers on expressions in >>> future, we might want to keep our options open. >>> >>> * No modifiers attached to types or expressions. >>> >>> * `-Wunrecognized-modifiers`, not `-Wunknown-modifiers`. Specify that >>> it's enabled by default. >>> >>> * `-XLinearTypes -XNoModifiers` introduces backwards compatible >>> behavior. >>> >>> * Add non-normative discussion of RN versus TC modifiers. >>> >>> * In the linear-types proposal, update the examples of modifiers >>> attached to lambda-bound variables. I think the examples now match the BNF >>> given. Also, the line "the `lpat` must be a bare variable" was contradicted >>> by syntax elsewhere in the proposal, so remove that. >>> >>> >>> -- >>> -- Matthías Páll Gissurarson http://mpg.is/ >>> _______________________________________________ >>> ghc-steering-committee mailing list -- >>> ghc-steering-committee@haskell.org >>> To unsubscribe send an email to >>> ghc-steering-committee-leave@haskell.org >>> >> _______________________________________________ >> ghc-steering-committee mailing list -- >> ghc-steering-committee@haskell.org >> To unsubscribe send an email to >> ghc-steering-committee-leave@haskell.org >> > > > -- > Arnaud Spiwack > Director, Research at https://moduscreate.com and https://tweag.io . > _______________________________________________ > ghc-steering-committee mailing list -- > ghc-steering-committee@haskell.org > To unsubscribe send an email to ghc-steering-committee-leave@haskell.org > _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- -- Matthías Páll Gissurarson http://mpg.is/
-- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- -- Matthías Páll Gissurarson http://mpg.is/
participants (7)
-
Arnaud Spiwack -
Erik de Castro Lopo -
Malte Ott -
Matthías Páll Gissurarson -
Moritz Angermann -
Sebastian Graf -
Simon Peyton Jones