
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
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@joachim-breitner.de http://www.joachim-breitner.de/
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee