| ... |
... |
@@ -52,7 +52,7 @@ Language |
|
52
|
52
|
|
|
53
|
53
|
That will break the combination of :extension:`OverloadedRecordUpdate` with :extension:`RebindableSyntax`.
|
|
54
|
54
|
|
|
55
|
|
-* Multiline strings are now accepted in foreign imports. (#25157)
|
|
|
55
|
+* Multiline strings are now accepted in ``foreign import``\ s. (#25157)
|
|
56
|
56
|
|
|
57
|
57
|
* GHC now does a better job at inferring types in calls to ``coerce``: instead of
|
|
58
|
58
|
complaining about ambiguous type variables, GHC will consider that such type
|
| ... |
... |
@@ -73,7 +73,7 @@ Language |
|
73
|
73
|
* The ``-Wdata-kinds-tc`` warning has been deprecated, and the use of promoted
|
|
74
|
74
|
data types in kinds is now an error (rather than a warning) unless the
|
|
75
|
75
|
:extension:`DataKinds` extension is enabled. For example, the following code
|
|
76
|
|
- will be rejected unless :extension:`DataKinds` is on:
|
|
|
76
|
+ will be rejected unless :extension:`DataKinds` is on: ::
|
|
77
|
77
|
|
|
78
|
78
|
import Data.Kind (Type)
|
|
79
|
79
|
import GHC.TypeNats (Nat)
|
| ... |
... |
@@ -143,14 +143,14 @@ Compiler |
|
143
|
143
|
were accessed using the generated record selector functions, marking the fields
|
|
144
|
144
|
as covered in coverage reports (:ghc-ticket:`17834`).
|
|
145
|
145
|
|
|
146
|
|
-- SIMD support in the X86 native code generator has been extended with 128-bit
|
|
|
146
|
+- SIMD support in the x86 native code generator has been extended with 128-bit
|
|
147
|
147
|
integer operations. Also, ``shuffleFloatX4#`` and ``shuffleDoubleX2#`` no longer
|
|
148
|
148
|
require ``-mavx``.
|
|
149
|
149
|
|
|
150
|
150
|
GHCi
|
|
151
|
151
|
~~~~
|
|
152
|
152
|
|
|
153
|
|
-- :ghci-cmd:`:info` now outputs type declarations with @-binders that are
|
|
|
153
|
+- :ghci-cmd:`:info` now outputs type declarations with ``@``-binders that are
|
|
154
|
154
|
considered semantically significant. See the documentation for :ghci-cmd:`:info`
|
|
155
|
155
|
itself for a more detailed explanation.
|
|
156
|
156
|
|
| ... |
... |
@@ -176,40 +176,40 @@ Cmm |
|
176
|
176
|
``ghc`` library
|
|
177
|
177
|
~~~~~~~~~~~~~~~
|
|
178
|
178
|
|
|
179
|
|
-* The `UnknownDiagnostic` constructor now takes an additional type argument
|
|
|
179
|
+* The ``UnknownDiagnostic`` constructor now takes an additional type argument
|
|
180
|
180
|
for the type of hints corresponding to the diagnostic, and an additional
|
|
181
|
181
|
value-level argument used for existential wrapping of the hints of the inner
|
|
182
|
182
|
diagnostic.
|
|
183
|
183
|
|
|
184
|
184
|
* Changes to the HPT and HUG interface:
|
|
185
|
185
|
|
|
186
|
|
- - `addToHpt` and `addListToHPT` were moved from `GHC.Unit.Home.ModInfo` to `GHC.Unit.Home.PackageTable` and deprecated in favour of `addHomeModInfoToHpt` and `addHomeModInfosToHpt`.
|
|
187
|
|
- - `UnitEnvGraph` and operations `unitEnv_lookup_maybe`, `unitEnv_foldWithKey, `unitEnv_singleton`, `unitEnv_adjust`, `unitEnv_insert`, `unitEnv_new` were moved from `GHC.Unit.Env` to `GHC.Unit.Home.Graph`.
|
|
188
|
|
- - The HomePackageTable (HPT) is now exported from `GHC.Unit.Home.PackageTable`,
|
|
|
186
|
+ - ``addToHpt`` and ``addListToHPT`` were moved from ``GHC.Unit.Home.ModInfo`` to ``GHC.Unit.Home.PackageTable`` and deprecated in favour of ``addHomeModInfoToHpt`` and ``addHomeModInfosToHpt``.
|
|
|
187
|
+ - ``UnitEnvGraph`` and operations ``unitEnv_lookup_maybe``, ``unitEnv_foldWithKey, ``unitEnv_singleton``, ``unitEnv_adjust``, ``unitEnv_insert``, ``unitEnv_new`` were moved from ``GHC.Unit.Env`` to ``GHC.Unit.Home.Graph``.
|
|
|
188
|
+ - The HomePackageTable (HPT) is now exported from ``GHC.Unit.Home.PackageTable``,
|
|
189
|
189
|
and is now backed by an IORef to avoid by construction very bad memory leaks.
|
|
190
|
190
|
This means the API to the HPT now is for the most part in IO. For instance,
|
|
191
|
|
- `emptyHomePackageTable` and `addHomeModInfoToHpt` are now in IO.
|
|
192
|
|
- - `mkHomeUnitEnv` was moved to `GHC.Unit.Home.PackageTable`, and now takes two
|
|
193
|
|
- extra explicit arguments. To restore previous behaviour, pass `emptyUnitState`
|
|
194
|
|
- and `Nothing` as the first two arguments additionally.
|
|
195
|
|
- - `hugElts` was removed. Users should prefer `allUnits` to get the keys of the
|
|
196
|
|
- HUG (the typical use case), or `traverse` or `unitEnv_foldWithKey` in other
|
|
|
191
|
+ ``emptyHomePackageTable`` and ``addHomeModInfoToHpt`` are now in IO.
|
|
|
192
|
+ - ``mkHomeUnitEnv`` was moved to ``GHC.Unit.Home.PackageTable``, and now takes two
|
|
|
193
|
+ extra explicit arguments. To restore previous behaviour, pass ``emptyUnitState``
|
|
|
194
|
+ and ``Nothing`` as the first two arguments additionally.
|
|
|
195
|
+ - ``hugElts`` was removed. Users should prefer ``allUnits`` to get the keys of the
|
|
|
196
|
+ HUG (the typical use case), or ``traverse`` or ``unitEnv_foldWithKey`` in other
|
|
197
|
197
|
cases.
|
|
198
|
198
|
|
|
199
|
|
-* Changes to `Language.Haskell.Syntax.Expr`
|
|
|
199
|
+* Changes to ``Language.Haskell.Syntax.Expr``
|
|
200
|
200
|
|
|
201
|
|
- - The `ParStmtBlock` list argument of the `ParStmt` constructor of `StmtLR` is now `NonEmpty`.
|
|
|
201
|
+ - The ``ParStmtBlock`` list argument of the ``ParStmt`` constructor of ``StmtLR`` is now ``NonEmpty``.
|
|
202
|
202
|
|
|
203
|
|
-* As part of the implementation of `GHC proposal 493 <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0493-specialise-expressions.rst>`_,
|
|
204
|
|
- the `SpecSig` constructor of `Sig` has been deprecated. It is replaced by
|
|
205
|
|
- the constructor `SpecSigE` which supports expressions at the head, rather than
|
|
|
203
|
+* As part of the implementation of ``GHC proposal 493 <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0493-specialise-expressions.rst>``_,
|
|
|
204
|
+ the ``SpecSig`` constructor of ``Sig`` has been deprecated. It is replaced by
|
|
|
205
|
+ the constructor ``SpecSigE`` which supports expressions at the head, rather than
|
|
206
|
206
|
a lone variable.
|
|
207
|
207
|
|
|
208
|
208
|
``ghc-heap`` library
|
|
209
|
209
|
~~~~~~~~~~~~~~~~~~~~
|
|
210
|
210
|
|
|
211
|
|
-* The functions `getClosureInfoTbl_maybe`, `getClosureInfoTbl`,
|
|
212
|
|
- `getClosurePtrArgs` and `getClosurePtrArgs_maybe` have been added to allow
|
|
|
211
|
+* The functions ``getClosureInfoTbl_maybe``, ``getClosureInfoTbl``,
|
|
|
212
|
+ ``getClosurePtrArgs`` and ``getClosurePtrArgs_maybe`` have been added to allow
|
|
213
|
213
|
reading of the relevant Closure attributes without reliance on incomplete
|
|
214
|
214
|
selectors.
|
|
215
|
215
|
|