Skip to content

Default to using kielExtensions and deprecate --extended

Fredrik Wieczerkowski requested to merge default-extended into master

Fixes #137 (closed) by

  • enabling kielExtensions (FunctionalPatterns, AnonFreeVars) by default
  • deprecating --extended
  • adding the negated extensions (NoFunctionalPatterns, NoAnonFreeVars), which take precedence over the positive variants and are removed in the ExtensionCheck

The ExtensionCheck now uses a separate 'phase' to apply all implicit extensions. This also fixes a bug where e.g. -XNoImplicitPrelude would not automatically enable -XNoDataDeriving since this transformation would only be applied on pragmas.

In the medium-term we might want to consider representing negated extensions in a different way to avoid redundancies. For example, we could allow every extension to be negated and internally only track the set of enabled extensions.

Edited by Fredrik Wieczerkowski

Merge request reports