[ghc-steering-committee] Language Extension Policy – Round 1

Richard Eisenberg lists at richarde.dev
Mon Feb 27 12:38:10 UTC 2023


I like G and H but must ask:

Does there exist an extension that has no effect beyond the current module but is more than a 3 on the G scale? Maybe it's OK if the answer is "no", but somehow G and H do not seem fully orthogonal.

Also: the questions in my original list were all constructed so that a higher score would, all else being equal, suggest inclusion as a default extension. I think G is similarly set up. But H is not. Again, that's probably OK, but I wanted to raise the point for others to consider as well.

Richard

> On Feb 24, 2023, at 4:44 PM, Joachim Breitner <mail at joachim-breitner.de> wrote:
> 
> Hi,
> 
> Am Freitag, dem 24.02.2023 um 18:04 +0000 schrieb Richard Eisenberg:
>> I think these questions A-F cover the range of categories Arnaud proposes, while addressing Joachim's and Simon M's desires to keep separate things separate.
> 
> I like these categories, they certainly add clarity!
> 
> Can we include these category from my mail as well:
> 
> G. To what extent is its effect new?
> 
> Possible answers:
> 1 - Code is trivially and better written without the extension
>    (e.g. a deprecated extension with a better mechanism around)
> 3 - The effect can be achieved without it, but very annoyingly
>    (e.g. OverloadedStrings, most DerivingX extensions)
> 4 - The effect can be achieved without it, but needs renamer or 
>    typechecker context
>    (e.g. RecordWildCards)
> 5 - There is no way to achieve the effect another way 
>    (e.g. Role Annotations)
> 
> 
> H. Is the extension local to the module?
> 
> Probably quite binary:
> 1 - It has no effect beyond the current module.
>    (most syntactic extensions)
> 5 – It’s use can affect users of the current module
>    (most type extensions, e.g. GADTs, LinearTypes)
> 
> Cheers,
> Joachim
> -- 
> Joachim Breitner
>  mail at joachim-breitner.de
>  http://www.joachim-breitner.de/
> 
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee



More information about the ghc-steering-committee mailing list