summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2021-04-15 13:26:54 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-04-18 20:12:26 -0400
commit78288b97f3486d79581343a40732804d96b3b57c (patch)
treed3b39d318abc29d06f64c69060230d0ea0ef4475
parenta42346970839feffdae6e5a570bde71a91ef8491 (diff)
downloadhaskell-78288b97f3486d79581343a40732804d96b3b57c.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: