diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2023-02-09 16:17:05 +0000 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2023-02-22 16:19:53 -0500 |
commit | 447a39fc745e633d97fed1cf579ef418e2c5baa9 (patch) | |
tree | 121eb19a5b53b3b5786717c637509f584ca2781b | |
parent | 7dc43beb277d1c2801ea8bf9afaeb83dba2d19ac (diff) | |
download | haskell-447a39fc745e633d97fed1cf579ef418e2c5baa9.tar.gz |
Add INLINABLE pragmas to `generic*` functions in Data.OldList
These functions are
* recursive
* overloaded
So it's important to add an `INLINABLE` pragma to each so that they can be
specialised at the use site when the specific numeric type is known.
Adding these pragmas improves the LazyText replicate benchmark (see https://gitlab.haskell.org/ghc/ghc/-/issues/22886#note_481020)
https://github.com/haskell/core-libraries-committee/issues/129
(cherry picked from commit be0b7209c6aef22798fc4ba7baacd2099b5cb494)
-rw-r--r-- | libraries/base/changelog.md | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libraries/base/changelog.md b/libraries/base/changelog.md index 193e43550b..376bd6c34f 100644 --- a/libraries/base/changelog.md +++ b/libraries/base/changelog.md @@ -1,8 +1,8 @@ # Changelog for [`base` package](http://hackage.haskell.org/package/base) - ## 4.18.0.0 *TBA* + * Add `INLINABLE` pragmas to `generic*` functions in Data.OldList ([CLC proposal #129](https://github.com/haskell/core-libraries-committee/issues/130)) * `Foreign.C.ConstPtr.ConstrPtr` was added to encode `const`-qualified pointer types in foreign declarations when using `CApiFFI` extension. ([CLC proposal #117](https://github.com/haskell/core-libraries-committee/issues/117)) * Add `forall a. Functor (p a)` superclass for `Bifunctor p` ([CLC proposal #91](https://github.com/haskell/core-libraries-committee/issues/91)) |