summaryrefslogtreecommitdiff
path: root/docs/users_guide/9.4.1-notes.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/users_guide/9.4.1-notes.rst')
-rw-r--r--docs/users_guide/9.4.1-notes.rst19
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/users_guide/9.4.1-notes.rst b/docs/users_guide/9.4.1-notes.rst
index 8d92d57eec..73901ad8be 100644
--- a/docs/users_guide/9.4.1-notes.rst
+++ b/docs/users_guide/9.4.1-notes.rst
@@ -21,3 +21,22 @@ Version 9.4.1
Note that the explicit type applications are required, as the call to
``withDict`` would be ambiguous otherwise.
+
+``ghc-prim`` library
+~~~~~~~~~~~~~~~~~~~~
+
+- ``GHC.Exts.mkWeak#``, ``GHC.Exts.mkWeakNoFinalizer#``, ``GHC.Exts.touch#``
+ and ``GHC.Exts.keepAlive#`` are now levity-polymorphic instead of
+ representation-polymorphic. For instance: ::
+
+ mkWeakNoFinalizer#
+ :: forall {l :: Levity} (a :: TYPE (BoxedRep l)) (b :: Type)
+ . a -> b -> State# RealWorld -> (# State# RealWorld, Weak# b #)
+
+ That is, the type signature now quantifies over a variable of type ``GHC.Exts.Levity``
+ instead of ``GHC.Exts.RuntimeRep``. In addition, this variable is now inferred,
+ instead of specified, meaning that it is no longer eligible for visible type application.
+
+- The ``GHC.Exts.RuntimeRep`` parameter to ``GHC.Exts.raise#`` is now inferred: ::
+
+ raise# :: forall (a :: Type) {r :: RuntimeRep} (b :: TYPE r). a -> b