Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC

Commits:

1 changed file:

Changes:

  • libraries/base/changelog.md
    ... ... @@ -26,7 +26,8 @@
    26 26
       * Fix incorrect results of `integerPowMod` when the base is 0 and the exponent is negative, and `integerRecipMod` when the modulus is zero ([#26017](https://gitlab.haskell.org/ghc/ghc/-/issues/26017)).
    
    27 27
     
    
    28 28
     
    
    29
    -## 4.21.0.0 *TBA*
    
    29
    +## 4.21.0.0 *December 2024*
    
    30
    +  * Shipped with GHC 9.12.1
    
    30 31
       * Change `SrcLoc` to be a strict and unboxed (finishing [CLC proposal #55](https://github.com/haskell/core-libraries-committee/issues/55))
    
    31 32
       * Introduce `Data.Bounded` module exporting the `Bounded` typeclass (finishing [CLC proposal #208](https://github.com/haskell/core-libraries-committee/issues/208))
    
    32 33
       * Deprecate export of `Bounded` class from `Data.Enum` ([CLC proposal #208](https://github.com/haskell/core-libraries-committee/issues/208))
    
    ... ... @@ -311,29 +312,29 @@
    311 312
     
    
    312 313
       * Re-export the `IsList` typeclass from the new `GHC.IsList` module.
    
    313 314
     
    
    314
    -  * There's a new special function ``withDict`` in ``GHC.Exts``: ::
    
    315
    +  * There's a new special function `withDict` in `GHC.Exts`: ::
    
    315 316
     
    
    316 317
             withDict :: forall {rr :: RuntimeRep} cls meth (r :: TYPE rr). WithDict cls meth => meth -> (cls => r) -> r
    
    317 318
     
    
    318
    -    where ``cls`` must be a class containing exactly one method, whose type
    
    319
    -    must be ``meth``.
    
    319
    +    where `cls` must be a class containing exactly one method, whose type
    
    320
    +    must be `meth`.
    
    320 321
     
    
    321
    -    This function converts ``meth`` to a type class dictionary.
    
    322
    -    It removes the need for ``unsafeCoerce`` in implementation of reflection
    
    322
    +    This function converts `meth` to a type class dictionary.
    
    323
    +    It removes the need for `unsafeCoerce` in implementation of reflection
    
    323 324
         libraries. It should be used with care, because it can introduce
    
    324 325
         incoherent instances.
    
    325 326
     
    
    326
    -    For example, the ``withTypeable`` function from the
    
    327
    -    ``Type.Reflection`` module can now be defined as: ::
    
    327
    +    For example, the `withTypeable` function from the
    
    328
    +    `Type.Reflection` module can now be defined as: ::
    
    328 329
     
    
    329 330
               withTypeable :: forall k (a :: k) rep (r :: TYPE rep). ()
    
    330 331
                            => TypeRep a -> (Typeable a => r) -> r
    
    331 332
               withTypeable rep k = withDict @(Typeable a) rep k
    
    332 333
     
    
    333 334
         Note that the explicit type application is required, as the call to
    
    334
    -    ``withDict`` would be ambiguous otherwise.
    
    335
    +    `withDict` would be ambiguous otherwise.
    
    335 336
     
    
    336
    -    This replaces the old ``GHC.Exts.magicDict``, which required
    
    337
    +    This replaces the old `GHC.Exts.magicDict`, which required
    
    337 338
         an intermediate data type and was less reliable.
    
    338 339
     
    
    339 340
       * `Data.Word.Word64` and `Data.Int.Int64` are now always represented by
    
    ... ... @@ -351,17 +352,17 @@
    351 352
     
    
    352 353
       * Shipped with GHC 9.2.4
    
    353 354
     
    
    354
    -  * winio: make consoleReadNonBlocking not wait for any events at all.
    
    355
    +  * winio: make `consoleReadNonBlocking` not wait for any events at all.
    
    355 356
     
    
    356
    -  * winio: Add support to console handles to handleToHANDLE
    
    357
    +  * winio: Add support to console handles to `handleToHANDLE`
    
    357 358
     
    
    358 359
     ## 4.16.2.0 *May 2022*
    
    359 360
     
    
    360 361
       * Shipped with GHC 9.2.2
    
    361 362
     
    
    362
    -  * Export GHC.Event.Internal on Windows (#21245)
    
    363
    +  * Export `GHC.Event.Internal` on Windows (#21245)
    
    363 364
     
    
    364
    -  # Documentation Fixes
    
    365
    +  * Documentation Fixes
    
    365 366
     
    
    366 367
     ## 4.16.1.0 *Feb 2022*
    
    367 368
     
    
    ... ... @@ -430,10 +431,17 @@
    430 431
     
    
    431 432
         - Newtypes `And`, `Ior`, `Xor` and `Iff` which wrap their argument,
    
    432 433
           and whose `Semigroup` instances are defined using `(.&.)`, `(.|.)`, `xor`
    
    433
    -      and ```\x y -> complement (x `xor` y)```, respectively.
    
    434
    +      and `\x y -> complement (x `xor` y)`, respectively.
    
    434 435
     
    
    435 436
         - `oneBits :: FiniteBits a => a`, `oneBits = complement zeroBits`.
    
    436 437
     
    
    438
    +  * Various folding operations in `GHC.List` are now implemented via strict
    
    439
    +    folds:
    
    440
    +    - `sum`
    
    441
    +    - `product`
    
    442
    +    - `maximum`
    
    443
    +    - `minimum`
    
    444
    +
    
    437 445
     ## 4.15.0.0 *Feb 2021*
    
    438 446
     
    
    439 447
       * Shipped with GHC 9.0.1