[ghc-steering-committee] #176: SCC Parsing, recommendation: accept
Manuel M T Chakravarty
chak at justtesting.org
Wed Feb 6 16:40:14 UTC 2019
+1
> Am 06.02.2019 um 09:35 schrieb Simon Marlow <marlowsd at gmail.com>:
>
> Proposal #176 is a small change to the syntax to make the parsing of certain pragmas (SCC, GENERATED, CORE) more principled and less likely to lead to confusion for users. The proposal itself has a nice motivation section that explains the problem (https://github.com/int-index/ghc-proposals/blob/scc-parsing/proposals/0000-scc-parsing.rst <https://github.com/int-index/ghc-proposals/blob/scc-parsing/proposals/0000-scc-parsing.rst>) but if that's too long then the summary is to adopt these principles:
> Annotations have the lowest precedence of all syntactic constructs.
> Adding an annotation does not affect the structure or meaning of an expression in ways other than adding an annotation to a subexpression.
> and it turns out that doing that means that there are places where an SCC annotation should be illegal. Some of those places were illegal already, but not all - some places were SCC is currently legal have the effect of violating principle (2) above.
>
> The change itself is to move a few productions in the grammar, making SCC annotations have the same precedence and associativity as the family of constructs including lambda, let, and do. That is, they have the lowest precedence and are right-associative, which is what we normally expect (the informal description is usually "extends as far to the right as possible").
>
> A lot of the discussion has been around how to precisely specify and document the rule for users, and I'm satisfied that we can do this.
>
> The only reason not to accept this would be that some existing code may fail to compile with the new grammar. However, it's likely to be rare and easy to fix, and within the bounds of the kinds of breaking change that we normally make in a major GHC release. Furthermore fixing the code to work with both old and new compilers doesn't require any conditional compilation.
>
> So, I propose we accept this.
>
> Cheers,
> Simon
>
>
> On Sun, 3 Feb 2019 at 22:48, Joachim Breitner <mail at joachim-breitner.de <mailto:mail at joachim-breitner.de>> wrote:
> Dear Committee,
>
> this is your secretary speaking:
>
> Meaning-preserving parsing rules for SCC annotations
> has been proposed by Vladislav Zavialov:
> https://github.com/ghc-proposals/ghc-proposals/pull/176 <https://github.com/ghc-proposals/ghc-proposals/pull/176>
> https://github.com/int-index/ghc-proposals/blob/scc-parsing/proposals/0000-scc-parsing.rst <https://github.com/int-index/ghc-proposals/blob/scc-parsing/proposals/0000-scc-parsing.rst>
>
> I propose Simon Marlow as the shepherd (he already glimpsed at it, so
> hopefully already has an opinion.)
>
> Please reach consensus as described in
> https://github.com/ghc-proposals/ghc-proposals#committee-process <https://github.com/ghc-proposals/ghc-proposals#committee-process>
> I suggest you make a recommendation, in a new e-mail thread with the
> proposal number in the subject, about the decision, maybe point out
> debatable points, and assume that anyone who stays quiet agrees with
> you.
>
> Thanks,
> Joachim
> --
> Joachim Breitner
> mail at joachim-breitner.de <mailto:mail at joachim-breitner.de>
> http://www.joachim-breitner.de/ <http://www.joachim-breitner.de/>
>
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org <mailto:ghc-steering-committee at haskell.org>
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee <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/20190206/34e1141b/attachment.html>
More information about the ghc-steering-committee
mailing list