Commit 334dd6da authored by Ryan Scott's avatar Ryan Scott

Fix #16603 by documenting some important changes in changelogs

This addresses some glaring omissions from
`libraries/base/changelog.md` and
`docs/users_guide/8.8.1-notes.rst`, fixing #16603 in the process.
parent c56dad01
Pipeline #5959 failed with stages
in 178 minutes
......@@ -23,6 +23,21 @@ Full details
Language
~~~~~~~~
- GHC now supports visible kind applications, as described in
`GHC proposal #15 <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0015-type-level-type-applications.rst>`__. This extends the existing
:ref:`visible type applications <visible-type-application>` feature to permit
type applications at the type level (e.g., ``f :: Proxy ('Just @Bool 'True)``) in
addition to the term level (e.g., ``g = Just @Bool True``).
- GHC now allows explicitly binding type variables in type family instances and
rewrite rules, as described in
`GHC proposal #7 <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0007-instance-foralls.rst>`__. For instance: ::
type family G a b where
forall x y. G [x] (Proxy y) = Double
forall z. G z z = Bool
{-# RULES "example" forall a. forall (x :: a). id x = x #-}
- :extension:`ScopedTypeVariables`: The type variable that a type signature on
a pattern can bring into scope can now stand for arbitrary types. Previously,
they could only stand in for other type variables, but this restriction was deemed
......@@ -76,6 +91,13 @@ Language
Compiler
~~~~~~~~
- The final phase of the ``MonadFail`` proposal has been implemented.
Accordingly, the ``MonadFailDesugaring`` language extension is now
deprecated, as its effects are always enabled. Similarly, the
``-Wnoncanonical-monadfail-instances`` flag is also deprecated, as there is
no longer any way to define a "non-canonical" ``Monad`` or ``MonadFail``
instance.
- New :ghc-flag:`-keep-hscpp-files` to keep the output of the CPP pre-processor.
- The :ghc-flag:`-Wcompat` warning group now includes :ghc-flag:`-Wstar-is-type`.
......@@ -134,6 +156,13 @@ Template Haskell
longer included when reifying ``C``. It's possible that this may break some
code which assumes the existence of ``forall a. C a =>``.
- Template Haskell has been updated to support visible kind applications and
explicit ``foralls`` in type family instances and ``RULES``. These required
a couple of backwards-incompatible changes to the ``template-haskell`` API.
Please refer to the
`GHC 8.8 Migration Guide <https://gitlab.haskell.org/ghc/ghc/wikis/migration/8.8#template-haskell-21500>`__
for more details.
- Template Haskell now supports implicit parameters and recursive do.
- Template Haskell splices can now embed assembler source (:ghc-ticket:`16180`)
......@@ -156,6 +185,20 @@ Template Haskell
``base`` library
~~~~~~~~~~~~~~~~
- The final phase of the ``MonadFail`` proposal has been implemented. As a
result of this change:
- The ``fail`` method of ``Monad`` has been removed in favor of the method of
the same name in the ``MonadFail`` class.
- ``MonadFail(fail)`` is now re-exported from the ``Prelude`` and
``Control.Monad`` modules.
These are breaking changes that may require you to update your code. Please
refer to the
`GHC 8.8 Migration Guide <https://gitlab.haskell.org/ghc/ghc/wikis/migration/8.8#base-41300>`__
for more details.
- Support the characters from recent versions of Unicode (up to v. 12) in literals
(see :ghc-ticket:`5518`).
......
......@@ -3,6 +3,14 @@
## 4.13.0.0 *TBA*
* Bundled with GHC *TBA*
* The final phase of the `MonadFail` proposal has been implemented:
* The `fail` method of `Monad` has been removed in favor of the method of
the same name in the `MonadFail` class.
* `MonadFail(fail)` is now re-exported from the `Prelude` and
`Control.Monad` modules.
* Fix `Show` instance of `Data.Fixed`: Negative numbers are now parenthesized
according to their surrounding context. I.e. `Data.Fixed.show` produces
syntactically correct Haskell for expressions like `Just (-1 :: Fixed E2)`.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment