summaryrefslogtreecommitdiff
path: root/docs/users_guide/8.10.1-notes.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/users_guide/8.10.1-notes.rst')
-rw-r--r--docs/users_guide/8.10.1-notes.rst28
1 files changed, 28 insertions, 0 deletions
diff --git a/docs/users_guide/8.10.1-notes.rst b/docs/users_guide/8.10.1-notes.rst
index cf67246abf..cfe07deb81 100644
--- a/docs/users_guide/8.10.1-notes.rst
+++ b/docs/users_guide/8.10.1-notes.rst
@@ -16,6 +16,34 @@ Full details
Language
~~~~~~~~
+- Kind variables are no longer implicitly quantified when an explicit ``forall`` is used, see
+ `GHC proposal #24
+ <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0024-no-kind-vars.rst>`__.
+ :ghc-flag:`-Wimplicit-kind-vars` is now obsolete.
+
+- Kind variables are no longer implicitly quantified in constructor declarations: ::
+
+ data T a = T1 (S (a :: k) | forall (b::k). T2 (S b) -- no longer accepted
+ data T (a :: k) = T1 (S (a :: k) | forall (b::k). T2 (S b) -- still accepted
+
+- Implicitly quantified kind variables are no longer put in front of other variables: ::
+
+ f :: Proxy (a :: k) -> Proxy (b :: j)
+
+ ghci> :t +v f -- old order:
+ f :: forall k j (a :: k) (b :: j). Proxy a -> Proxy b
+
+ ghci> :t +v f -- new order:
+ f :: forall k (a :: k) j (b :: j). Proxy a -> Proxy b
+
+ This is a breaking change for users of :extension:`TypeApplications`.
+
+- In type synonyms and type family equations, free variables on the RHS are no longer
+ implicitly quantified unless used in an outermost kind annotation: ::
+
+ type T = Just (Nothing :: Maybe a) -- no longer accepted
+ type T = Just Nothing :: Maybe (Maybe a) -- still accepted
+
Compiler
~~~~~~~~