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

Joachim Breitner mail at joachim-breitner.de
Fri Feb 24 21:44:10 UTC 2023


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/



More information about the ghc-steering-committee mailing list