From 7788c09c787fce817cf5a44c34ba538a39388c1c Mon Sep 17 00:00:00 2001 From: konsumlamm Date: Tue, 25 Apr 2023 03:01:32 +0200 Subject: Make `(&)` representation polymorphic in the return type --- libraries/base/Data/Function.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'libraries/base/Data/Function.hs') 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, -- cgit v1.2.1