summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2023-02-09 16:17:05 +0000
committerBen Gamari <ben@smart-cactus.org>2023-02-22 16:19:53 -0500
commit447a39fc745e633d97fed1cf579ef418e2c5baa9 (patch)
tree121eb19a5b53b3b5786717c637509f584ca2781b
parent7dc43beb277d1c2801ea8bf9afaeb83dba2d19ac (diff)
downloadhaskell-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.md2
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))