summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2021-04-15 13:26:54 -0400
committerBen Gamari <ben@smart-cactus.org>2021-04-15 15:31:18 -0400
commit533f6b734f1cd2861811e6fec387e2a4bdf4c796 (patch)
tree9997ebfad1b53719e5cb4f0540e2e4347d351d0a
parentefe9c09ef367c2ca81ba7475d786c35415248555 (diff)
downloadhaskell-533f6b734f1cd2861811e6fec387e2a4bdf4c796.tar.gz
users-guide: Clarify GHC2021 documentation
Point out that GHC2021 doesn't offer the same degree of stability that Haskell2010 does, as noted by @phadej.
-rw-r--r--docs/users_guide/exts/control.rst8
1 files changed, 7 insertions, 1 deletions
diff --git a/docs/users_guide/exts/control.rst b/docs/users_guide/exts/control.rst
index a94def72b5..84c2aa1208 100644
--- a/docs/users_guide/exts/control.rst
+++ b/docs/users_guide/exts/control.rst
@@ -18,7 +18,7 @@ Language extensions can be controlled (i.e. allowed or not) in two ways:
``{-# LANGUAGE TemplateHaskell #-}`` (see :ref:`language-pragma`).
.. extension:: GHC2021
- :shortdesc: Use GHC’s set of default languages from 2021
+ :shortdesc: Use GHC’s set of default language extensions from 2021
GHC blesses a number of extensions, beyond Haskell 2010, to be suitable to
turned on by default. These extensions are considered to be stable and
@@ -29,6 +29,12 @@ Language extensions can be controlled (i.e. allowed or not) in two ways:
``GHC20xx`` by default, users are advised to declare the language set
explicitly with ``-XGHC2021``.
+ Note that, because GHC2021 includes a number of non-standardized
+ extensions, the stability guarantees it provides are not quite as strong as
+ those provided by, e.g., :extension:`Haskell2010`. While GHC does take
+ pains to avoid changing the semantics of these extensions, changes may
+ still happen (e.g. the simplified subsumption change introduced in GHC 9.0
+ which caused GHC to reject some programs using :extension:`RankNTypes`).
The ``GHC2021`` language set comprises the following extensions: