summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkonsumlamm <konsumlamm@gmail.com>2023-04-25 03:01:32 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2023-05-09 22:23:23 -0400
commit7788c09c787fce817cf5a44c34ba538a39388c1c (patch)
treea25fa90f8b87b71f786860d51fe4461789692848
parent0657b4820bb0ff2811b27c510204996ec3d31898 (diff)
downloadhaskell-7788c09c787fce817cf5a44c34ba538a39388c1c.tar.gz
Make `(&)` representation polymorphic in the return type
-rw-r--r--libraries/base/Data/Function.hs6
-rw-r--r--libraries/base/changelog.md5
2 files changed, 7 insertions, 4 deletions
diff --git a/libraries/base/Data/Function.hs b/libraries/base/Data/Function.hs
index 35c0b7d657..9cda5628f7 100644
--- a/libraries/base/Data/Function.hs
+++ b/libraries/base/Data/Function.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE ExplicitForAll #-}
+{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE Trustworthy #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_HADDOCK print-explicit-runtime-reps #-}
@@ -28,7 +30,7 @@ module Data.Function
, applyWhen
) where
-import GHC.Base ( ($), (.), id, const, flip )
+import GHC.Base ( TYPE, ($), (.), id, const, flip )
import Data.Bool ( Bool(..) )
infixl 0 `on`
@@ -120,7 +122,7 @@ on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
-- "6"
--
-- @since 4.8.0.0
-(&) :: a -> (a -> b) -> b
+(&) :: forall r a (b :: TYPE r). a -> (a -> b) -> b
x & f = f x
-- | 'applyWhen' applies a function to a value if a condition is true,
diff --git a/libraries/base/changelog.md b/libraries/base/changelog.md
index bc55cc4977..72b3cc9501 100644
--- a/libraries/base/changelog.md
+++ b/libraries/base/changelog.md
@@ -21,9 +21,10 @@
([CLC proposal #149](https://github.com/haskell/core-libraries-committee/issues/149))
* Make `($)` representation polymorphic ([CLC proposal #132](https://github.com/haskell/core-libraries-committee/issues/132))
* Implemented [GHC Proposal #433](https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0433-unsatisfiable.rst),
- adding the class `Unsatisfiable :: ErrorMessage -> TypeError`` to `GHC.TypeError`,
+ adding the class `Unsatisfiable :: ErrorMessage -> TypeError` to `GHC.TypeError`,
which provides a mechanism for custom type errors that reports the errors in
- a more predictable behaviour than ``TypeError``.
+ a more predictable behaviour than `TypeError`.
+ * Make `(&)` representation polymorphic in the return type ([CLC proposal #158](https://github.com/haskell/core-libraries-committee/issues/158))
## 4.18.0.0 *March 2023*
* Shipped with GHC 9.6.1