| ... |
... |
@@ -110,6 +110,9 @@ Language |
|
110
|
110
|
- Explicit level import support, allowing ``import`` declarations to explicitly
|
|
111
|
111
|
state which compilation stages they are are visible to.
|
|
112
|
112
|
|
|
|
113
|
+- Fix handling of tabs in string gaps (:ghc-ticket:`26415`). Tabs are now
|
|
|
114
|
+ correctly treated as whitespace in string gaps, matching the Haskell Report.
|
|
|
115
|
+
|
|
113
|
116
|
Compiler
|
|
114
|
117
|
~~~~~~~~
|
|
115
|
118
|
|
| ... |
... |
@@ -160,6 +163,23 @@ Compiler |
|
160
|
163
|
|
|
161
|
164
|
- Initial native code generator support for the LoongArch CPU architecture.
|
|
162
|
165
|
|
|
|
166
|
+- Several fixes to :extension:`DeepSubsumption` type checking, improving handling
|
|
|
167
|
+ of higher-rank types in various contexts (:ghc-ticket:`26225`, :ghc-ticket:`26255`,
|
|
|
168
|
+ :ghc-ticket:`26277`, :ghc-ticket:`26331`, :ghc-ticket:`26332`).
|
|
|
169
|
+
|
|
|
170
|
+- Fix a scoping error in the Specialiser that could cause incorrect code generation
|
|
|
171
|
+ with :ghc-flag:`-fpolymorphic-specialisation` (:ghc-ticket:`26329`).
|
|
|
172
|
+
|
|
|
173
|
+- Fix a long-standing bug in the coercion optimiser that could produce invalid
|
|
|
174
|
+ coercions for ``ForAllCo`` (:ghc-ticket:`26345`).
|
|
|
175
|
+
|
|
|
176
|
+- Fix the type-family occurs check in unification (:ghc-ticket:`26457`).
|
|
|
177
|
+
|
|
|
178
|
+- Fix solving of forall-constraints (quantified constraints) to avoid infinite
|
|
|
179
|
+ loops in certain cases (:ghc-ticket:`26314`, :ghc-ticket:`26315`, :ghc-ticket:`26376`).
|
|
|
180
|
+
|
|
|
181
|
+- Fix reporting of redundant constraints on default-method declarations
|
|
|
182
|
+ (:ghc-ticket:`25992`).
|
|
163
|
183
|
|
|
164
|
184
|
GHCi
|
|
165
|
185
|
~~~~
|
| ... |
... |
@@ -188,6 +208,12 @@ GHCi |
|
188
|
208
|
debugging clients
|
|
189
|
209
|
* Internal refactorings towards making the debugger multi-thread aware (:ghc-ticket:`26064`)
|
|
190
|
210
|
|
|
|
211
|
+- Fix bytecode generation for unsaturated applications of data constructor
|
|
|
212
|
+ workers (:ghc-ticket:`23210`).
|
|
|
213
|
+
|
|
|
214
|
+- Fix bytecode to use 32 bits for breakpoint indices, allowing more breakpoints
|
|
|
215
|
+ in large modules (:ghc-ticket:`26325`).
|
|
|
216
|
+
|
|
191
|
217
|
WebAssembly backend
|
|
192
|
218
|
~~~~~~~~~~~~~~~~~~~
|
|
193
|
219
|
|
| ... |
... |
@@ -201,6 +227,18 @@ See the blog post on `Tweag's blog |
|
201
|
227
|
<https://www.tweag.io/blog/2025-04-17-wasm-ghci-browser/>`_ for more
|
|
202
|
228
|
information.
|
|
203
|
229
|
|
|
|
230
|
+- Fix handling of forward declared ``GOT.func`` items in the wasm dynamic
|
|
|
231
|
+ linker (:ghc-ticket:`26430`).
|
|
|
232
|
+
|
|
|
233
|
+- Fix ``setKeepCAFs()`` to be properly called during wasm GHCi initialization
|
|
|
234
|
+ (:ghc-ticket:`26106`).
|
|
|
235
|
+
|
|
|
236
|
+- Fix JSFFI initialization constructor code to avoid clashing with user-defined
|
|
|
237
|
+ main functions.
|
|
|
238
|
+
|
|
|
239
|
+- Improve error handling in the JavaScript linker when library directories
|
|
|
240
|
+ are misconfigured (:ghc-ticket:`26383`).
|
|
|
241
|
+
|
|
204
|
242
|
Runtime system
|
|
205
|
243
|
~~~~~~~~~~~~~~
|
|
206
|
244
|
|
| ... |
... |
@@ -212,17 +250,44 @@ Runtime system |
|
212
|
250
|
- Reorganise how certain symbols are linked to avoid a bootstrapping failure
|
|
213
|
251
|
with the linker shipping newer macOS versions (:ghc-ticket:`26166`)
|
|
214
|
252
|
|
|
|
253
|
+- Fix eager black holes handling: properly record mutated closures and fix
|
|
|
254
|
+ an incorrect assertion that could cause issues with multiple threads racing
|
|
|
255
|
+ to claim a black hole (:ghc-ticket:`26495`)
|
|
|
256
|
+
|
|
|
257
|
+- Fix the Windows runtime linker to copy DLL path strings before inserting
|
|
|
258
|
+ them into the cache, preventing use-after-free issues (:ghc-ticket:`26613`)
|
|
|
259
|
+
|
|
|
260
|
+- Fix lost wakeups in ``threadPaused`` for threads blocked on black holes,
|
|
|
261
|
+ which could cause hangs in concurrent programs (:ghc-ticket:`26324`).
|
|
|
262
|
+
|
|
|
263
|
+- Fix heap reservation logic on POSIX systems to avoid infinite loops when
|
|
|
264
|
+ the OS repeatedly returns low memory addresses (:ghc-ticket:`26151`).
|
|
|
265
|
+
|
|
|
266
|
+- Fix handling of ``WHITEHOLE`` closures in ``scavenge_one`` when using the
|
|
|
267
|
+ non-moving garbage collector (:ghc-ticket:`26204`).
|
|
|
268
|
+
|
|
|
269
|
+- Fix alignment for ``gen_workspace`` on s390x to allow bootstrap on that
|
|
|
270
|
+ platform (:ghc-ticket:`26334`).
|
|
|
271
|
+
|
|
|
272
|
+- Push the correct update frame type in ``stg_AP_STACK`` for eager black holes.
|
|
|
273
|
+
|
|
215
|
274
|
``base`` library
|
|
216
|
275
|
~~~~~~~~~~~~~~~~
|
|
217
|
276
|
|
|
218
|
277
|
- Updated to `Unicode 17.0.0 <https://www.unicode.org/versions/Unicode17.0.0>`_.
|
|
219
|
278
|
|
|
|
279
|
+- Removed unstable heap representation details from ``GHC.Exts`` (:ghc-ticket:`25110`).
|
|
|
280
|
+
|
|
220
|
281
|
``ghc-prim`` library
|
|
221
|
282
|
~~~~~~~~~~~~~~~~~~~~
|
|
222
|
283
|
|
|
223
|
284
|
``ghc-prim`` is now a legacy interface providing access to primitive operations
|
|
224
|
285
|
and types which are now also exposed via the ``ghc-experimental`` package.
|
|
225
|
286
|
|
|
|
287
|
+- A new primop ``annotateStack#`` has been added, allowing arbitrary data to be
|
|
|
288
|
+ pushed onto the call stack for later extraction when decoding stack traces
|
|
|
289
|
+ (:ghc-ticket:`26218`).
|
|
|
290
|
+
|
|
226
|
291
|
``ghc`` library
|
|
227
|
292
|
~~~~~~~~~~~~~~~
|
|
228
|
293
|
|
| ... |
... |
@@ -263,6 +328,16 @@ and types which are now also exposed via the ``ghc-experimental`` package. |
|
263
|
328
|
reading of the relevant Closure attributes without reliance on incomplete
|
|
264
|
329
|
selectors.
|
|
265
|
330
|
|
|
|
331
|
+* Fix a race condition with profiling builds (:ghc-ticket:`15197`, :ghc-ticket:`26407`).
|
|
|
332
|
+
|
|
|
333
|
+* Fix stack decoding when using the profiled runtime (:ghc-ticket:`26507`).
|
|
|
334
|
+
|
|
|
335
|
+``ghc-internal`` library
|
|
|
336
|
+~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
337
|
+
|
|
|
338
|
+* Fix ``naturalAndNot`` for the ``NB``/``NS`` (native bignum) case
|
|
|
339
|
+ (:ghc-ticket:`26230`).
|
|
|
340
|
+
|
|
266
|
341
|
``ghc-experimental`` library
|
|
267
|
342
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
268
|
343
|
|