Repository : ssh://g...@git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/6f3a194accd2a1a75a3f86c1b4dca30521488110/base
>--------------------------------------------------------------- commit 6f3a194accd2a1a75a3f86c1b4dca30521488110 Author: Herbert Valerio Riedel <h...@gnu.org> Date: Sat Oct 5 15:40:28 2013 +0200 Add `instance Monoid a => Monoid (Const a b)` For more details, see original proposal at http://permalink.gmane.org/gmane.comp.lang.haskell.libraries/20369 Signed-off-by: Herbert Valerio Riedel <h...@gnu.org> >--------------------------------------------------------------- 6f3a194accd2a1a75a3f86c1b4dca30521488110 Control/Applicative.hs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Control/Applicative.hs b/Control/Applicative.hs index 78e2b4b..dbfa272 100644 --- a/Control/Applicative.hs +++ b/Control/Applicative.hs @@ -230,6 +230,11 @@ newtype Const a b = Const { getConst :: a } instance Functor (Const m) where fmap _ (Const v) = Const v +-- Added in base-4.7.0.0 +instance Monoid a => Monoid (Const a b) where + mempty = Const mempty + mappend (Const a) (Const b) = Const (mappend a b) + instance Monoid m => Applicative (Const m) where pure _ = Const mempty Const f <*> Const v = Const (f `mappend` v) _______________________________________________ ghc-commits mailing list ghc-commits@haskell.org http://www.haskell.org/mailman/listinfo/ghc-commits