Default to using kielExtensions and deprecate --extended
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 theExtensionCheck
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