diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/users_guide/9.4.1-notes.rst | 23 | ||||
-rw-r--r-- | docs/users_guide/release-notes.rst | 1 |
2 files changed, 24 insertions, 0 deletions
diff --git a/docs/users_guide/9.4.1-notes.rst b/docs/users_guide/9.4.1-notes.rst new file mode 100644 index 0000000000..8d92d57eec --- /dev/null +++ b/docs/users_guide/9.4.1-notes.rst @@ -0,0 +1,23 @@ +.. _release-9-4-1: + +Version 9.4.1 +============== + +``base`` library +~~~~~~~~~~~~~~~~ + +- ``GHC.Exts.magicDict`` has been renamed to ``withDict`` and given a more + specific type: :: + + withDict :: forall {rr :: RuntimeRep} st dt (r :: TYPE rr). st -> (dt => r) -> r + + Unlike ``magicDict``, ``withDict`` can be used without defining an + intermediate data type. For example, the ``withTypeable`` function from the + ``Data.Typeable`` module can now be defined as: :: + + withTypeable :: forall k (a :: k) rep (r :: TYPE rep). () + => TypeRep a -> (Typeable a => r) -> r + withTypeable rep k = withDict @(TypeRep a) @(Typeable a) rep k + + Note that the explicit type applications are required, as the call to + ``withDict`` would be ambiguous otherwise. diff --git a/docs/users_guide/release-notes.rst b/docs/users_guide/release-notes.rst index 92d4277a67..8b1313d8fe 100644 --- a/docs/users_guide/release-notes.rst +++ b/docs/users_guide/release-notes.rst @@ -6,3 +6,4 @@ Release notes 9.0.1-notes 9.2.1-notes + 9.4.1-notes |