Movatterモバイル変換


[0]ホーム

URL:


base-4.12.0.0: Basic libraries

Copyright(c) Andy Gill 2001
(c) Oregon Graduate Institute of Science and Technology 2001
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerlibraries@haskell.org
Stabilityexperimental
Portabilityportable
Safe HaskellTrustworthy
LanguageHaskell2010

Data.Monoid

Contents

Description

A class for monoids (types with an associative binary operation that has an identity) with various general-purpose instances.

Synopsis

Monoid typeclass

classSemigroup a =>Monoid awhereSource#

The class of monoids (types with an associative binary operation that has an identity). Instances should satisfy the following laws:

The method names refer to the monoid of lists under concatenation, but there are many other instances.

Some types can be viewed as a monoid in more than one way, e.g. both addition and multiplication on numbers. In such cases we often definenewtypes and make those instances ofMonoid, e.g.Sum andProduct.

NOTE:Semigroup is a superclass ofMonoid sincebase-4.11.0.0.

Minimal complete definition

mempty

Methods

mempty :: aSource#

Identity ofmappend

mappend :: a -> a -> aSource#

An associative operation

NOTE: This method is redundant and has the default implementationmappend = '(<>)' sincebase-4.11.0.0.

mconcat :: [a] -> aSource#

Fold a list using the monoid.

For most types, the default definition formconcat will be used, but the function is included in the class definition so that an optimized version can be provided for specific types.

Instances
MonoidOrderingSource#

Since: 2.1

Instance details

Defined inGHC.Base

Monoid ()Source#

Since: 2.1

Instance details

Defined inGHC.Base

Methods

mempty :: ()Source#

mappend :: () -> () -> ()Source#

mconcat :: [()] -> ()Source#

MonoidAnySource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

MonoidAllSource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

MonoidLifetimeSource#

mappend takes the longer of two lifetimes.

Since: 4.8.0.0

Instance details

Defined inGHC.Event.Internal

MonoidEventSource#

Since: 4.4.0.0

Instance details

Defined inGHC.Event.Internal

Monoid [a]Source#

Since: 2.1

Instance details

Defined inGHC.Base

Methods

mempty :: [a]Source#

mappend :: [a] -> [a] -> [a]Source#

mconcat :: [[a]] -> [a]Source#

Semigroup a =>Monoid (Maybe a)Source#

Lift a semigroup intoMaybe forming aMonoid according tohttp://en.wikipedia.org/wiki/Monoid: "Any semigroupS may be turned into a monoid simply by adjoining an elemente not inS and defininge*e = e ande*s = s = s*e for alls ∈ S."

Since 4.11.0: constraint on innera value generalised fromMonoid toSemigroup.

Since: 2.1

Instance details

Defined inGHC.Base

Monoid a =>Monoid (IO a)Source#

Since: 4.9.0.0

Instance details

Defined inGHC.Base

Methods

mempty ::IO aSource#

mappend ::IO a ->IO a ->IO aSource#

mconcat :: [IO a] ->IO aSource#

Monoid p =>Monoid (Par1 p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Monoid a =>Monoid (Down a)Source#

Since: 4.11.0.0

Instance details

Defined inData.Ord

Num a =>Monoid (Product a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Num a =>Monoid (Sum a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Methods

mempty ::Sum aSource#

mappend ::Sum a ->Sum a ->Sum aSource#

mconcat :: [Sum a] ->Sum aSource#

Monoid (Endo a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Monoid a =>Monoid (Dual a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Monoid (Last a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Monoid (First a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Monoid a =>Monoid (Identity a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Functor.Identity

Semigroup a =>Monoid (Option a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup

Monoid m =>Monoid (WrappedMonoid m)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup

(Ord a,Bounded a) =>Monoid (Max a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup

Methods

mempty ::Max aSource#

mappend ::Max a ->Max a ->Max aSource#

mconcat :: [Max a] ->Max aSource#

(Ord a,Bounded a) =>Monoid (Min a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup

Methods

mempty ::Min aSource#

mappend ::Min a ->Min a ->Min aSource#

mconcat :: [Min a] ->Min aSource#

Monoid (Equivalence a)Source# 
Instance details

Defined inData.Functor.Contravariant

Monoid (Comparison a)Source# 
Instance details

Defined inData.Functor.Contravariant

Monoid (Predicate a)Source# 
Instance details

Defined inData.Functor.Contravariant

Monoid b =>Monoid (a -> b)Source#

Since: 2.1

Instance details

Defined inGHC.Base

Methods

mempty :: a -> bSource#

mappend :: (a -> b) -> (a -> b) -> a -> bSource#

mconcat :: [a -> b] -> a -> bSource#

Monoid (U1 p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

mempty ::U1 pSource#

mappend ::U1 p ->U1 p ->U1 pSource#

mconcat :: [U1 p] ->U1 pSource#

(Monoid a,Monoid b) =>Monoid (a, b)Source#

Since: 2.1

Instance details

Defined inGHC.Base

Methods

mempty :: (a, b)Source#

mappend :: (a, b) -> (a, b) -> (a, b)Source#

mconcat :: [(a, b)] -> (a, b)Source#

Monoid a =>Monoid (ST s a)Source#

Since: 4.11.0.0

Instance details

Defined inGHC.ST

Methods

mempty ::ST s aSource#

mappend ::ST s a ->ST s a ->ST s aSource#

mconcat :: [ST s a] ->ST s aSource#

Monoid (Proxy s)Source#

Since: 4.7.0.0

Instance details

Defined inData.Proxy

Monoid a =>Monoid (Op a b)Source# 
Instance details

Defined inData.Functor.Contravariant

Methods

mempty ::Op a bSource#

mappend ::Op a b ->Op a b ->Op a bSource#

mconcat :: [Op a b] ->Op a bSource#

Monoid (f p) =>Monoid (Rec1 f p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

mempty ::Rec1 f pSource#

mappend ::Rec1 f p ->Rec1 f p ->Rec1 f pSource#

mconcat :: [Rec1 f p] ->Rec1 f pSource#

(Monoid a,Monoid b,Monoid c) =>Monoid (a, b, c)Source#

Since: 2.1

Instance details

Defined inGHC.Base

Methods

mempty :: (a, b, c)Source#

mappend :: (a, b, c) -> (a, b, c) -> (a, b, c)Source#

mconcat :: [(a, b, c)] -> (a, b, c)Source#

Alternative f =>Monoid (Alt f a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

mempty ::Alt f aSource#

mappend ::Alt f a ->Alt f a ->Alt f aSource#

mconcat :: [Alt f a] ->Alt f aSource#

(Applicative f,Monoid a) =>Monoid (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

mempty ::Ap f aSource#

mappend ::Ap f a ->Ap f a ->Ap f aSource#

mconcat :: [Ap f a] ->Ap f aSource#

Monoid a =>Monoid (Const a b)Source#

Since: 4.9.0.0

Instance details

Defined inData.Functor.Const

Methods

mempty ::Const a bSource#

mappend ::Const a b ->Const a b ->Const a bSource#

mconcat :: [Const a b] ->Const a bSource#

Monoid c =>Monoid (K1 i c p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

mempty ::K1 i c pSource#

mappend ::K1 i c p ->K1 i c p ->K1 i c pSource#

mconcat :: [K1 i c p] ->K1 i c pSource#

(Monoid (f p),Monoid (g p)) =>Monoid ((f:*: g) p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

mempty :: (f:*: g) pSource#

mappend :: (f:*: g) p -> (f:*: g) p -> (f:*: g) pSource#

mconcat :: [(f:*: g) p] -> (f:*: g) pSource#

(Monoid a,Monoid b,Monoid c,Monoid d) =>Monoid (a, b, c, d)Source#

Since: 2.1

Instance details

Defined inGHC.Base

Methods

mempty :: (a, b, c, d)Source#

mappend :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d)Source#

mconcat :: [(a, b, c, d)] -> (a, b, c, d)Source#

Monoid (f p) =>Monoid (M1 i c f p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

mempty ::M1 i c f pSource#

mappend ::M1 i c f p ->M1 i c f p ->M1 i c f pSource#

mconcat :: [M1 i c f p] ->M1 i c f pSource#

Monoid (f (g p)) =>Monoid ((f:.: g) p)Source#

Since: 4.12.0.0

Instance details

Defined inGHC.Generics

Methods

mempty :: (f:.: g) pSource#

mappend :: (f:.: g) p -> (f:.: g) p -> (f:.: g) pSource#

mconcat :: [(f:.: g) p] -> (f:.: g) pSource#

(Monoid a,Monoid b,Monoid c,Monoid d,Monoid e) =>Monoid (a, b, c, d, e)Source#

Since: 2.1

Instance details

Defined inGHC.Base

Methods

mempty :: (a, b, c, d, e)Source#

mappend :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e)Source#

mconcat :: [(a, b, c, d, e)] -> (a, b, c, d, e)Source#

(<>) ::Semigroup a => a -> a -> ainfixr 6Source#

An associative operation.

newtypeDual aSource#

The dual of aMonoid, obtained by swapping the arguments ofmappend.

>>>getDual (mappend (Dual "Hello") (Dual "World"))"WorldHello"

Constructors

Dual 

Fields

Instances
MonadDualSource#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

(>>=) ::Dual a -> (a ->Dual b) ->Dual bSource#

(>>) ::Dual a ->Dual b ->Dual bSource#

return :: a ->Dual aSource#

fail ::String ->Dual aSource#

FunctorDualSource#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

fmap :: (a -> b) ->Dual a ->Dual bSource#

(<$) :: a ->Dual b ->Dual aSource#

MonadFixDualSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Fix

Methods

mfix :: (a ->Dual a) ->Dual aSource#

ApplicativeDualSource#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

pure :: a ->Dual aSource#

(<*>) ::Dual (a -> b) ->Dual a ->Dual bSource#

liftA2 :: (a -> b -> c) ->Dual a ->Dual b ->Dual cSource#

(*>) ::Dual a ->Dual b ->Dual bSource#

(<*) ::Dual a ->Dual b ->Dual aSource#

FoldableDualSource#

Since: 4.8.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>Dual m -> mSource#

foldMap ::Monoid m => (a -> m) ->Dual a -> mSource#

foldr :: (a -> b -> b) -> b ->Dual a -> bSource#

foldr' :: (a -> b -> b) -> b ->Dual a -> bSource#

foldl :: (b -> a -> b) -> b ->Dual a -> bSource#

foldl' :: (b -> a -> b) -> b ->Dual a -> bSource#

foldr1 :: (a -> a -> a) ->Dual a -> aSource#

foldl1 :: (a -> a -> a) ->Dual a -> aSource#

toList ::Dual a -> [a]Source#

null ::Dual a ->BoolSource#

length ::Dual a ->IntSource#

elem ::Eq a => a ->Dual a ->BoolSource#

maximum ::Ord a =>Dual a -> aSource#

minimum ::Ord a =>Dual a -> aSource#

sum ::Num a =>Dual a -> aSource#

product ::Num a =>Dual a -> aSource#

TraversableDualSource#

Since: 4.8.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->Dual a -> f (Dual b)Source#

sequenceA ::Applicative f =>Dual (f a) -> f (Dual a)Source#

mapM ::Monad m => (a -> m b) ->Dual a -> m (Dual b)Source#

sequence ::Monad m =>Dual (m a) -> m (Dual a)Source#

MonadZipDualSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Dual a ->Dual b ->Dual (a, b)Source#

mzipWith :: (a -> b -> c) ->Dual a ->Dual b ->Dual cSource#

munzip ::Dual (a, b) -> (Dual a,Dual b)Source#

Bounded a =>Bounded (Dual a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Eq a =>Eq (Dual a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Methods

(==) ::Dual a ->Dual a ->Bool#

(/=) ::Dual a ->Dual a ->Bool#

Data a =>Data (Dual a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->Dual a -> c (Dual a)Source#

gunfold :: (forall b r.Data b => c (b -> r) -> c r) -> (forall r. r -> c r) ->Constr -> c (Dual a)Source#

toConstr ::Dual a ->ConstrSource#

dataTypeOf ::Dual a ->DataTypeSource#

dataCast1 ::Typeable t => (forall d.Data d => c (t d)) ->Maybe (c (Dual a))Source#

dataCast2 ::Typeable t => (forall d e. (Data d,Data e) => c (t d e)) ->Maybe (c (Dual a))Source#

gmapT :: (forall b.Data b => b -> b) ->Dual a ->Dual aSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->Dual a -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->Dual a -> rSource#

gmapQ :: (forall d.Data d => d -> u) ->Dual a -> [u]Source#

gmapQi ::Int -> (forall d.Data d => d -> u) ->Dual a -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->Dual a -> m (Dual a)Source#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->Dual a -> m (Dual a)Source#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->Dual a -> m (Dual a)Source#

Ord a =>Ord (Dual a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Methods

compare ::Dual a ->Dual a ->Ordering#

(<) ::Dual a ->Dual a ->Bool#

(<=) ::Dual a ->Dual a ->Bool#

(>) ::Dual a ->Dual a ->Bool#

(>=) ::Dual a ->Dual a ->Bool#

max ::Dual a ->Dual a ->Dual a#

min ::Dual a ->Dual a ->Dual a#

Read a =>Read (Dual a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Show a =>Show (Dual a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Generic (Dual a)Source# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep (Dual a) ::Type ->TypeSource#

Methods

from ::Dual a ->Rep (Dual a) xSource#

to ::Rep (Dual a) x ->Dual aSource#

Semigroup a =>Semigroup (Dual a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

(<>) ::Dual a ->Dual a ->Dual aSource#

sconcat ::NonEmpty (Dual a) ->Dual aSource#

stimes ::Integral b => b ->Dual a ->Dual aSource#

Monoid a =>Monoid (Dual a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Generic1DualSource# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep1Dual :: k ->TypeSource#

typeRep (Dual a)Source#

Since: 4.7.0.0

Instance details

Defined inData.Semigroup.Internal

typeRep (Dual a) =D1 (MetaData "Dual" "Data.Semigroup.Internal" "base"True) (C1 (MetaCons "Dual"PrefixITrue) (S1 (MetaSel (Just "getDual")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 a)))
typeRep1DualSource#

Since: 4.7.0.0

Instance details

Defined inData.Semigroup.Internal

typeRep1Dual =D1 (MetaData "Dual" "Data.Semigroup.Internal" "base"True) (C1 (MetaCons "Dual"PrefixITrue) (S1 (MetaSel (Just "getDual")NoSourceUnpackednessNoSourceStrictnessDecidedLazy)Par1))

newtypeEndo aSource#

The monoid of endomorphisms under composition.

>>>let computation = Endo ("Hello, " ++) <> Endo (++ "!")>>>appEndo computation "Haskell""Hello, Haskell!"

Constructors

Endo 

Fields

Instances
Generic (Endo a)Source# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep (Endo a) ::Type ->TypeSource#

Methods

from ::Endo a ->Rep (Endo a) xSource#

to ::Rep (Endo a) x ->Endo aSource#

Semigroup (Endo a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

(<>) ::Endo a ->Endo a ->Endo aSource#

sconcat ::NonEmpty (Endo a) ->Endo aSource#

stimes ::Integral b => b ->Endo a ->Endo aSource#

Monoid (Endo a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

typeRep (Endo a)Source#

Since: 4.7.0.0

Instance details

Defined inData.Semigroup.Internal

typeRep (Endo a) =D1 (MetaData "Endo" "Data.Semigroup.Internal" "base"True) (C1 (MetaCons "Endo"PrefixITrue) (S1 (MetaSel (Just "appEndo")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 (a -> a))))

Bool wrappers

newtypeAllSource#

Boolean monoid under conjunction (&&).

>>>getAll (All True <> mempty <> All False)False
>>>getAll (mconcat (map (\x -> All (even x)) [2,4,6,7,8]))False

Constructors

All 

Fields

Instances
BoundedAllSource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

EqAllSource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Methods

(==) ::All ->All ->Bool#

(/=) ::All ->All ->Bool#

DataAllSource#

Since: 4.8.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->All -> cAllSource#

gunfold :: (forall b r.Data b => c (b -> r) -> c r) -> (forall r. r -> c r) ->Constr -> cAllSource#

toConstr ::All ->ConstrSource#

dataTypeOf ::All ->DataTypeSource#

dataCast1 ::Typeable t => (forall d.Data d => c (t d)) ->Maybe (cAll)Source#

dataCast2 ::Typeable t => (forall d e. (Data d,Data e) => c (t d e)) ->Maybe (cAll)Source#

gmapT :: (forall b.Data b => b -> b) ->All ->AllSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->All -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->All -> rSource#

gmapQ :: (forall d.Data d => d -> u) ->All -> [u]Source#

gmapQi ::Int -> (forall d.Data d => d -> u) ->All -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->All -> mAllSource#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->All -> mAllSource#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->All -> mAllSource#

OrdAllSource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

ReadAllSource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

ShowAllSource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

GenericAllSource# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRepAll ::Type ->TypeSource#

SemigroupAllSource#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup.Internal

MonoidAllSource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

typeRepAllSource#

Since: 4.7.0.0

Instance details

Defined inData.Semigroup.Internal

typeRepAll =D1 (MetaData "All" "Data.Semigroup.Internal" "base"True) (C1 (MetaCons "All"PrefixITrue) (S1 (MetaSel (Just "getAll")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0Bool)))

newtypeAnySource#

Boolean monoid under disjunction (||).

>>>getAny (Any True <> mempty <> Any False)True
>>>getAny (mconcat (map (\x -> Any (even x)) [2,4,6,7,8]))True

Constructors

Any 

Fields

Instances
BoundedAnySource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

EqAnySource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Methods

(==) ::Any ->Any ->Bool#

(/=) ::Any ->Any ->Bool#

DataAnySource#

Since: 4.8.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->Any -> cAnySource#

gunfold :: (forall b r.Data b => c (b -> r) -> c r) -> (forall r. r -> c r) ->Constr -> cAnySource#

toConstr ::Any ->ConstrSource#

dataTypeOf ::Any ->DataTypeSource#

dataCast1 ::Typeable t => (forall d.Data d => c (t d)) ->Maybe (cAny)Source#

dataCast2 ::Typeable t => (forall d e. (Data d,Data e) => c (t d e)) ->Maybe (cAny)Source#

gmapT :: (forall b.Data b => b -> b) ->Any ->AnySource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->Any -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->Any -> rSource#

gmapQ :: (forall d.Data d => d -> u) ->Any -> [u]Source#

gmapQi ::Int -> (forall d.Data d => d -> u) ->Any -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->Any -> mAnySource#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->Any -> mAnySource#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->Any -> mAnySource#

OrdAnySource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

ReadAnySource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

ShowAnySource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

GenericAnySource# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRepAny ::Type ->TypeSource#

SemigroupAnySource#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup.Internal

MonoidAnySource#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

typeRepAnySource#

Since: 4.7.0.0

Instance details

Defined inData.Semigroup.Internal

typeRepAny =D1 (MetaData "Any" "Data.Semigroup.Internal" "base"True) (C1 (MetaCons "Any"PrefixITrue) (S1 (MetaSel (Just "getAny")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0Bool)))

Num wrappers

newtypeSum aSource#

Monoid under addition.

>>>getSum (Sum 1 <> Sum 2 <> mempty)3

Constructors

Sum 

Fields

Instances
MonadSumSource#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

(>>=) ::Sum a -> (a ->Sum b) ->Sum bSource#

(>>) ::Sum a ->Sum b ->Sum bSource#

return :: a ->Sum aSource#

fail ::String ->Sum aSource#

FunctorSumSource#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

fmap :: (a -> b) ->Sum a ->Sum bSource#

(<$) :: a ->Sum b ->Sum aSource#

MonadFixSumSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Fix

Methods

mfix :: (a ->Sum a) ->Sum aSource#

ApplicativeSumSource#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

pure :: a ->Sum aSource#

(<*>) ::Sum (a -> b) ->Sum a ->Sum bSource#

liftA2 :: (a -> b -> c) ->Sum a ->Sum b ->Sum cSource#

(*>) ::Sum a ->Sum b ->Sum bSource#

(<*) ::Sum a ->Sum b ->Sum aSource#

FoldableSumSource#

Since: 4.8.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>Sum m -> mSource#

foldMap ::Monoid m => (a -> m) ->Sum a -> mSource#

foldr :: (a -> b -> b) -> b ->Sum a -> bSource#

foldr' :: (a -> b -> b) -> b ->Sum a -> bSource#

foldl :: (b -> a -> b) -> b ->Sum a -> bSource#

foldl' :: (b -> a -> b) -> b ->Sum a -> bSource#

foldr1 :: (a -> a -> a) ->Sum a -> aSource#

foldl1 :: (a -> a -> a) ->Sum a -> aSource#

toList ::Sum a -> [a]Source#

null ::Sum a ->BoolSource#

length ::Sum a ->IntSource#

elem ::Eq a => a ->Sum a ->BoolSource#

maximum ::Ord a =>Sum a -> aSource#

minimum ::Ord a =>Sum a -> aSource#

sum ::Num a =>Sum a -> aSource#

product ::Num a =>Sum a -> aSource#

TraversableSumSource#

Since: 4.8.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->Sum a -> f (Sum b)Source#

sequenceA ::Applicative f =>Sum (f a) -> f (Sum a)Source#

mapM ::Monad m => (a -> m b) ->Sum a -> m (Sum b)Source#

sequence ::Monad m =>Sum (m a) -> m (Sum a)Source#

MonadZipSumSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Sum a ->Sum b ->Sum (a, b)Source#

mzipWith :: (a -> b -> c) ->Sum a ->Sum b ->Sum cSource#

munzip ::Sum (a, b) -> (Sum a,Sum b)Source#

Bounded a =>Bounded (Sum a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Eq a =>Eq (Sum a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Methods

(==) ::Sum a ->Sum a ->Bool#

(/=) ::Sum a ->Sum a ->Bool#

Data a =>Data (Sum a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->Sum a -> c (Sum a)Source#

gunfold :: (forall b r.Data b => c (b -> r) -> c r) -> (forall r. r -> c r) ->Constr -> c (Sum a)Source#

toConstr ::Sum a ->ConstrSource#

dataTypeOf ::Sum a ->DataTypeSource#

dataCast1 ::Typeable t => (forall d.Data d => c (t d)) ->Maybe (c (Sum a))Source#

dataCast2 ::Typeable t => (forall d e. (Data d,Data e) => c (t d e)) ->Maybe (c (Sum a))Source#

gmapT :: (forall b.Data b => b -> b) ->Sum a ->Sum aSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->Sum a -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->Sum a -> rSource#

gmapQ :: (forall d.Data d => d -> u) ->Sum a -> [u]Source#

gmapQi ::Int -> (forall d.Data d => d -> u) ->Sum a -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->Sum a -> m (Sum a)Source#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->Sum a -> m (Sum a)Source#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->Sum a -> m (Sum a)Source#

Num a =>Num (Sum a)Source#

Since: 4.7.0.0

Instance details

Defined inData.Semigroup.Internal

Ord a =>Ord (Sum a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Methods

compare ::Sum a ->Sum a ->Ordering#

(<) ::Sum a ->Sum a ->Bool#

(<=) ::Sum a ->Sum a ->Bool#

(>) ::Sum a ->Sum a ->Bool#

(>=) ::Sum a ->Sum a ->Bool#

max ::Sum a ->Sum a ->Sum a#

min ::Sum a ->Sum a ->Sum a#

Read a =>Read (Sum a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Show a =>Show (Sum a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Generic (Sum a)Source# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep (Sum a) ::Type ->TypeSource#

Methods

from ::Sum a ->Rep (Sum a) xSource#

to ::Rep (Sum a) x ->Sum aSource#

Num a =>Semigroup (Sum a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

(<>) ::Sum a ->Sum a ->Sum aSource#

sconcat ::NonEmpty (Sum a) ->Sum aSource#

stimes ::Integral b => b ->Sum a ->Sum aSource#

Num a =>Monoid (Sum a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Methods

mempty ::Sum aSource#

mappend ::Sum a ->Sum a ->Sum aSource#

mconcat :: [Sum a] ->Sum aSource#

Generic1SumSource# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep1Sum :: k ->TypeSource#

typeRep (Sum a)Source#

Since: 4.7.0.0

Instance details

Defined inData.Semigroup.Internal

typeRep (Sum a) =D1 (MetaData "Sum" "Data.Semigroup.Internal" "base"True) (C1 (MetaCons "Sum"PrefixITrue) (S1 (MetaSel (Just "getSum")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 a)))
typeRep1SumSource#

Since: 4.7.0.0

Instance details

Defined inData.Semigroup.Internal

typeRep1Sum =D1 (MetaData "Sum" "Data.Semigroup.Internal" "base"True) (C1 (MetaCons "Sum"PrefixITrue) (S1 (MetaSel (Just "getSum")NoSourceUnpackednessNoSourceStrictnessDecidedLazy)Par1))

newtypeProduct aSource#

Monoid under multiplication.

>>>getProduct (Product 3 <> Product 4 <> mempty)12

Constructors

Product 

Fields

Instances
MonadProductSource#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

FunctorProductSource#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

fmap :: (a -> b) ->Product a ->Product bSource#

(<$) :: a ->Product b ->Product aSource#

MonadFixProductSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Fix

Methods

mfix :: (a ->Product a) ->Product aSource#

ApplicativeProductSource#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

pure :: a ->Product aSource#

(<*>) ::Product (a -> b) ->Product a ->Product bSource#

liftA2 :: (a -> b -> c) ->Product a ->Product b ->Product cSource#

(*>) ::Product a ->Product b ->Product bSource#

(<*) ::Product a ->Product b ->Product aSource#

FoldableProductSource#

Since: 4.8.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>Product m -> mSource#

foldMap ::Monoid m => (a -> m) ->Product a -> mSource#

foldr :: (a -> b -> b) -> b ->Product a -> bSource#

foldr' :: (a -> b -> b) -> b ->Product a -> bSource#

foldl :: (b -> a -> b) -> b ->Product a -> bSource#

foldl' :: (b -> a -> b) -> b ->Product a -> bSource#

foldr1 :: (a -> a -> a) ->Product a -> aSource#

foldl1 :: (a -> a -> a) ->Product a -> aSource#

toList ::Product a -> [a]Source#

null ::Product a ->BoolSource#

length ::Product a ->IntSource#

elem ::Eq a => a ->Product a ->BoolSource#

maximum ::Ord a =>Product a -> aSource#

minimum ::Ord a =>Product a -> aSource#

sum ::Num a =>Product a -> aSource#

product ::Num a =>Product a -> aSource#

TraversableProductSource#

Since: 4.8.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->Product a -> f (Product b)Source#

sequenceA ::Applicative f =>Product (f a) -> f (Product a)Source#

mapM ::Monad m => (a -> m b) ->Product a -> m (Product b)Source#

sequence ::Monad m =>Product (m a) -> m (Product a)Source#

MonadZipProductSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Product a ->Product b ->Product (a, b)Source#

mzipWith :: (a -> b -> c) ->Product a ->Product b ->Product cSource#

munzip ::Product (a, b) -> (Product a,Product b)Source#

Bounded a =>Bounded (Product a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Eq a =>Eq (Product a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Methods

(==) ::Product a ->Product a ->Bool#

(/=) ::Product a ->Product a ->Bool#

Data a =>Data (Product a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->Product a -> c (Product a)Source#

gunfold :: (forall b r.Data b => c (b -> r) -> c r) -> (forall r. r -> c r) ->Constr -> c (Product a)Source#

toConstr ::Product a ->ConstrSource#

dataTypeOf ::Product a ->DataTypeSource#

dataCast1 ::Typeable t => (forall d.Data d => c (t d)) ->Maybe (c (Product a))Source#

dataCast2 ::Typeable t => (forall d e. (Data d,Data e) => c (t d e)) ->Maybe (c (Product a))Source#

gmapT :: (forall b.Data b => b -> b) ->Product a ->Product aSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->Product a -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->Product a -> rSource#

gmapQ :: (forall d.Data d => d -> u) ->Product a -> [u]Source#

gmapQi ::Int -> (forall d.Data d => d -> u) ->Product a -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->Product a -> m (Product a)Source#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->Product a -> m (Product a)Source#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->Product a -> m (Product a)Source#

Num a =>Num (Product a)Source#

Since: 4.7.0.0

Instance details

Defined inData.Semigroup.Internal

Ord a =>Ord (Product a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Read a =>Read (Product a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Show a =>Show (Product a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Generic (Product a)Source# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep (Product a) ::Type ->TypeSource#

Methods

from ::Product a ->Rep (Product a) xSource#

to ::Rep (Product a) x ->Product aSource#

Num a =>Semigroup (Product a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup.Internal

Num a =>Monoid (Product a)Source#

Since: 2.1

Instance details

Defined inData.Semigroup.Internal

Generic1ProductSource# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep1Product :: k ->TypeSource#

typeRep (Product a)Source#

Since: 4.7.0.0

Instance details

Defined inData.Semigroup.Internal

typeRep (Product a) =D1 (MetaData "Product" "Data.Semigroup.Internal" "base"True) (C1 (MetaCons "Product"PrefixITrue) (S1 (MetaSel (Just "getProduct")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 a)))
typeRep1ProductSource#

Since: 4.7.0.0

Instance details

Defined inData.Semigroup.Internal

typeRep1Product =D1 (MetaData "Product" "Data.Semigroup.Internal" "base"True) (C1 (MetaCons "Product"PrefixITrue) (S1 (MetaSel (Just "getProduct")NoSourceUnpackednessNoSourceStrictnessDecidedLazy)Par1))

Maybe wrappers

To implementfind orfindLast on anyFoldable:

findLast :: Foldable t => (a -> Bool) -> t a -> Maybe afindLast pred = getLast . foldMap (x -> if pred x                                           then Last (Just x)                                           else Last Nothing)

Much of Data.Map's interface can be implemented with Data.Map.alter. Some of the rest can be implemented with a newalterA function and eitherFirst orLast:

alterA :: (Applicative f, Ord k) =>          (Maybe a -> f (Maybe a)) -> k -> Map k a -> f (Map k a)instance Monoid a => Applicative ((,) a)  -- from Control.Applicative
insertLookupWithKey :: Ord k => (k -> v -> v -> v) -> k -> v                    -> Map k v -> (Maybe v, Map k v)insertLookupWithKey combine key value =  Arrow.first getFirst . alterA doChange key  where  doChange Nothing = (First Nothing, Just value)  doChange (Just oldValue) =    (First (Just oldValue),     Just (combine key value oldValue))

newtypeFirst aSource#

Maybe monoid returning the leftmost non-Nothing value.

First a is isomorphic toAltMaybe a, but precedes it historically.

>>>getFirst (First (Just "hello") <> First Nothing <> First (Just "world"))Just "hello"

Use of this type is discouraged. Note the following equivalence:

Data.Monoid.First x === Maybe (Data.Semigroup.First x)

In addition to being equivalent in the structural sense, the two also haveMonoid instances that behave the same. This type will be marked deprecated in GHC 8.8, and removed in GHC 8.10. Users are advised to use the variant fromData.Semigroup and wrap it inMaybe.

Constructors

First 

Fields

Instances
MonadFirstSource#

Since: 4.8.0.0

Instance details

Defined inData.Monoid

Methods

(>>=) ::First a -> (a ->First b) ->First bSource#

(>>) ::First a ->First b ->First bSource#

return :: a ->First aSource#

fail ::String ->First aSource#

FunctorFirstSource#

Since: 4.8.0.0

Instance details

Defined inData.Monoid

Methods

fmap :: (a -> b) ->First a ->First bSource#

(<$) :: a ->First b ->First aSource#

MonadFixFirstSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Fix

Methods

mfix :: (a ->First a) ->First aSource#

ApplicativeFirstSource#

Since: 4.8.0.0

Instance details

Defined inData.Monoid

Methods

pure :: a ->First aSource#

(<*>) ::First (a -> b) ->First a ->First bSource#

liftA2 :: (a -> b -> c) ->First a ->First b ->First cSource#

(*>) ::First a ->First b ->First bSource#

(<*) ::First a ->First b ->First aSource#

FoldableFirstSource#

Since: 4.8.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>First m -> mSource#

foldMap ::Monoid m => (a -> m) ->First a -> mSource#

foldr :: (a -> b -> b) -> b ->First a -> bSource#

foldr' :: (a -> b -> b) -> b ->First a -> bSource#

foldl :: (b -> a -> b) -> b ->First a -> bSource#

foldl' :: (b -> a -> b) -> b ->First a -> bSource#

foldr1 :: (a -> a -> a) ->First a -> aSource#

foldl1 :: (a -> a -> a) ->First a -> aSource#

toList ::First a -> [a]Source#

null ::First a ->BoolSource#

length ::First a ->IntSource#

elem ::Eq a => a ->First a ->BoolSource#

maximum ::Ord a =>First a -> aSource#

minimum ::Ord a =>First a -> aSource#

sum ::Num a =>First a -> aSource#

product ::Num a =>First a -> aSource#

TraversableFirstSource#

Since: 4.8.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->First a -> f (First b)Source#

sequenceA ::Applicative f =>First (f a) -> f (First a)Source#

mapM ::Monad m => (a -> m b) ->First a -> m (First b)Source#

sequence ::Monad m =>First (m a) -> m (First a)Source#

MonadZipFirstSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::First a ->First b ->First (a, b)Source#

mzipWith :: (a -> b -> c) ->First a ->First b ->First cSource#

munzip ::First (a, b) -> (First a,First b)Source#

Eq a =>Eq (First a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Methods

(==) ::First a ->First a ->Bool#

(/=) ::First a ->First a ->Bool#

Data a =>Data (First a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->First a -> c (First a)Source#

gunfold :: (forall b r.Data b => c (b -> r) -> c r) -> (forall r. r -> c r) ->Constr -> c (First a)Source#

toConstr ::First a ->ConstrSource#

dataTypeOf ::First a ->DataTypeSource#

dataCast1 ::Typeable t => (forall d.Data d => c (t d)) ->Maybe (c (First a))Source#

dataCast2 ::Typeable t => (forall d e. (Data d,Data e) => c (t d e)) ->Maybe (c (First a))Source#

gmapT :: (forall b.Data b => b -> b) ->First a ->First aSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->First a -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->First a -> rSource#

gmapQ :: (forall d.Data d => d -> u) ->First a -> [u]Source#

gmapQi ::Int -> (forall d.Data d => d -> u) ->First a -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->First a -> m (First a)Source#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->First a -> m (First a)Source#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->First a -> m (First a)Source#

Ord a =>Ord (First a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Methods

compare ::First a ->First a ->Ordering#

(<) ::First a ->First a ->Bool#

(<=) ::First a ->First a ->Bool#

(>) ::First a ->First a ->Bool#

(>=) ::First a ->First a ->Bool#

max ::First a ->First a ->First a#

min ::First a ->First a ->First a#

Read a =>Read (First a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Show a =>Show (First a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Generic (First a)Source# 
Instance details

Defined inData.Monoid

Associated Types

typeRep (First a) ::Type ->TypeSource#

Methods

from ::First a ->Rep (First a) xSource#

to ::Rep (First a) x ->First aSource#

Semigroup (First a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Monoid

Monoid (First a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Generic1FirstSource# 
Instance details

Defined inData.Monoid

Associated Types

typeRep1First :: k ->TypeSource#

typeRep (First a)Source#

Since: 4.7.0.0

Instance details

Defined inData.Monoid

typeRep (First a) =D1 (MetaData "First" "Data.Monoid" "base"True) (C1 (MetaCons "First"PrefixITrue) (S1 (MetaSel (Just "getFirst")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 (Maybe a))))
typeRep1FirstSource#

Since: 4.7.0.0

Instance details

Defined inData.Monoid

newtypeLast aSource#

Maybe monoid returning the rightmost non-Nothing value.

Last a is isomorphic toDual (First a), and thus toDual (AltMaybe a)

>>>getLast (Last (Just "hello") <> Last Nothing <> Last (Just "world"))Just "world"

Use of this type is discouraged. Note the following equivalence:

Data.Monoid.Last x === Maybe (Data.Semigroup.Last x)

In addition to being equivalent in the structural sense, the two also haveMonoid instances that behave the same. This type will be marked deprecated in GHC 8.8, and removed in GHC 8.10. Users are advised to use the variant fromData.Semigroup and wrap it inMaybe.

Constructors

Last 

Fields

Instances
MonadLastSource#

Since: 4.8.0.0

Instance details

Defined inData.Monoid

Methods

(>>=) ::Last a -> (a ->Last b) ->Last bSource#

(>>) ::Last a ->Last b ->Last bSource#

return :: a ->Last aSource#

fail ::String ->Last aSource#

FunctorLastSource#

Since: 4.8.0.0

Instance details

Defined inData.Monoid

Methods

fmap :: (a -> b) ->Last a ->Last bSource#

(<$) :: a ->Last b ->Last aSource#

MonadFixLastSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Fix

Methods

mfix :: (a ->Last a) ->Last aSource#

ApplicativeLastSource#

Since: 4.8.0.0

Instance details

Defined inData.Monoid

Methods

pure :: a ->Last aSource#

(<*>) ::Last (a -> b) ->Last a ->Last bSource#

liftA2 :: (a -> b -> c) ->Last a ->Last b ->Last cSource#

(*>) ::Last a ->Last b ->Last bSource#

(<*) ::Last a ->Last b ->Last aSource#

FoldableLastSource#

Since: 4.8.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>Last m -> mSource#

foldMap ::Monoid m => (a -> m) ->Last a -> mSource#

foldr :: (a -> b -> b) -> b ->Last a -> bSource#

foldr' :: (a -> b -> b) -> b ->Last a -> bSource#

foldl :: (b -> a -> b) -> b ->Last a -> bSource#

foldl' :: (b -> a -> b) -> b ->Last a -> bSource#

foldr1 :: (a -> a -> a) ->Last a -> aSource#

foldl1 :: (a -> a -> a) ->Last a -> aSource#

toList ::Last a -> [a]Source#

null ::Last a ->BoolSource#

length ::Last a ->IntSource#

elem ::Eq a => a ->Last a ->BoolSource#

maximum ::Ord a =>Last a -> aSource#

minimum ::Ord a =>Last a -> aSource#

sum ::Num a =>Last a -> aSource#

product ::Num a =>Last a -> aSource#

TraversableLastSource#

Since: 4.8.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f => (a -> f b) ->Last a -> f (Last b)Source#

sequenceA ::Applicative f =>Last (f a) -> f (Last a)Source#

mapM ::Monad m => (a -> m b) ->Last a -> m (Last b)Source#

sequence ::Monad m =>Last (m a) -> m (Last a)Source#

MonadZipLastSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Last a ->Last b ->Last (a, b)Source#

mzipWith :: (a -> b -> c) ->Last a ->Last b ->Last cSource#

munzip ::Last (a, b) -> (Last a,Last b)Source#

Eq a =>Eq (Last a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Methods

(==) ::Last a ->Last a ->Bool#

(/=) ::Last a ->Last a ->Bool#

Data a =>Data (Last a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->Last a -> c (Last a)Source#

gunfold :: (forall b r.Data b => c (b -> r) -> c r) -> (forall r. r -> c r) ->Constr -> c (Last a)Source#

toConstr ::Last a ->ConstrSource#

dataTypeOf ::Last a ->DataTypeSource#

dataCast1 ::Typeable t => (forall d.Data d => c (t d)) ->Maybe (c (Last a))Source#

dataCast2 ::Typeable t => (forall d e. (Data d,Data e) => c (t d e)) ->Maybe (c (Last a))Source#

gmapT :: (forall b.Data b => b -> b) ->Last a ->Last aSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->Last a -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->Last a -> rSource#

gmapQ :: (forall d.Data d => d -> u) ->Last a -> [u]Source#

gmapQi ::Int -> (forall d.Data d => d -> u) ->Last a -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->Last a -> m (Last a)Source#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->Last a -> m (Last a)Source#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->Last a -> m (Last a)Source#

Ord a =>Ord (Last a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Methods

compare ::Last a ->Last a ->Ordering#

(<) ::Last a ->Last a ->Bool#

(<=) ::Last a ->Last a ->Bool#

(>) ::Last a ->Last a ->Bool#

(>=) ::Last a ->Last a ->Bool#

max ::Last a ->Last a ->Last a#

min ::Last a ->Last a ->Last a#

Read a =>Read (Last a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Show a =>Show (Last a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Generic (Last a)Source# 
Instance details

Defined inData.Monoid

Associated Types

typeRep (Last a) ::Type ->TypeSource#

Methods

from ::Last a ->Rep (Last a) xSource#

to ::Rep (Last a) x ->Last aSource#

Semigroup (Last a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Monoid

Methods

(<>) ::Last a ->Last a ->Last aSource#

sconcat ::NonEmpty (Last a) ->Last aSource#

stimes ::Integral b => b ->Last a ->Last aSource#

Monoid (Last a)Source#

Since: 2.1

Instance details

Defined inData.Monoid

Generic1LastSource# 
Instance details

Defined inData.Monoid

Associated Types

typeRep1Last :: k ->TypeSource#

typeRep (Last a)Source#

Since: 4.7.0.0

Instance details

Defined inData.Monoid

typeRep (Last a) =D1 (MetaData "Last" "Data.Monoid" "base"True) (C1 (MetaCons "Last"PrefixITrue) (S1 (MetaSel (Just "getLast")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 (Maybe a))))
typeRep1LastSource#

Since: 4.7.0.0

Instance details

Defined inData.Monoid

Alternative wrapper

newtypeAlt f aSource#

Monoid under<|>.

Since: 4.8.0.0

Constructors

Alt 

Fields

Instances
Generic1 (Alt f :: k ->Type)Source# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep1 (Alt f) :: k ->TypeSource#

Methods

from1 ::Alt f a ->Rep1 (Alt f) aSource#

to1 ::Rep1 (Alt f) a ->Alt f aSource#

Monad f =>Monad (Alt f)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

(>>=) ::Alt f a -> (a ->Alt f b) ->Alt f bSource#

(>>) ::Alt f a ->Alt f b ->Alt f bSource#

return :: a ->Alt f aSource#

fail ::String ->Alt f aSource#

Functor f =>Functor (Alt f)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

fmap :: (a -> b) ->Alt f a ->Alt f bSource#

(<$) :: a ->Alt f b ->Alt f aSource#

MonadFix f =>MonadFix (Alt f)Source#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Fix

Methods

mfix :: (a ->Alt f a) ->Alt f aSource#

Applicative f =>Applicative (Alt f)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

pure :: a ->Alt f aSource#

(<*>) ::Alt f (a -> b) ->Alt f a ->Alt f bSource#

liftA2 :: (a -> b -> c) ->Alt f a ->Alt f b ->Alt f cSource#

(*>) ::Alt f a ->Alt f b ->Alt f bSource#

(<*) ::Alt f a ->Alt f b ->Alt f aSource#

Foldable f =>Foldable (Alt f)Source#

Since: 4.12.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>Alt f m -> mSource#

foldMap ::Monoid m => (a -> m) ->Alt f a -> mSource#

foldr :: (a -> b -> b) -> b ->Alt f a -> bSource#

foldr' :: (a -> b -> b) -> b ->Alt f a -> bSource#

foldl :: (b -> a -> b) -> b ->Alt f a -> bSource#

foldl' :: (b -> a -> b) -> b ->Alt f a -> bSource#

foldr1 :: (a -> a -> a) ->Alt f a -> aSource#

foldl1 :: (a -> a -> a) ->Alt f a -> aSource#

toList ::Alt f a -> [a]Source#

null ::Alt f a ->BoolSource#

length ::Alt f a ->IntSource#

elem ::Eq a => a ->Alt f a ->BoolSource#

maximum ::Ord a =>Alt f a -> aSource#

minimum ::Ord a =>Alt f a -> aSource#

sum ::Num a =>Alt f a -> aSource#

product ::Num a =>Alt f a -> aSource#

Traversable f =>Traversable (Alt f)Source#

Since: 4.12.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f0 => (a -> f0 b) ->Alt f a -> f0 (Alt f b)Source#

sequenceA ::Applicative f0 =>Alt f (f0 a) -> f0 (Alt f a)Source#

mapM ::Monad m => (a -> m b) ->Alt f a -> m (Alt f b)Source#

sequence ::Monad m =>Alt f (m a) -> m (Alt f a)Source#

MonadPlus f =>MonadPlus (Alt f)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

mzero ::Alt f aSource#

mplus ::Alt f a ->Alt f a ->Alt f aSource#

Alternative f =>Alternative (Alt f)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

empty ::Alt f aSource#

(<|>) ::Alt f a ->Alt f a ->Alt f aSource#

some ::Alt f a ->Alt f [a]Source#

many ::Alt f a ->Alt f [a]Source#

MonadZip f =>MonadZip (Alt f)Source#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Alt f a ->Alt f b ->Alt f (a, b)Source#

mzipWith :: (a -> b -> c) ->Alt f a ->Alt f b ->Alt f cSource#

munzip ::Alt f (a, b) -> (Alt f a,Alt f b)Source#

Contravariant f =>Contravariant (Alt f)Source# 
Instance details

Defined inData.Functor.Contravariant

Methods

contramap :: (a -> b) ->Alt f b ->Alt f aSource#

(>$) :: b ->Alt f b ->Alt f aSource#

Enum (f a) =>Enum (Alt f a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

succ ::Alt f a ->Alt f aSource#

pred ::Alt f a ->Alt f aSource#

toEnum ::Int ->Alt f aSource#

fromEnum ::Alt f a ->IntSource#

enumFrom ::Alt f a -> [Alt f a]Source#

enumFromThen ::Alt f a ->Alt f a -> [Alt f a]Source#

enumFromTo ::Alt f a ->Alt f a -> [Alt f a]Source#

enumFromThenTo ::Alt f a ->Alt f a ->Alt f a -> [Alt f a]Source#

Eq (f a) =>Eq (Alt f a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

(==) ::Alt f a ->Alt f a ->Bool#

(/=) ::Alt f a ->Alt f a ->Bool#

(Data (f a),Data a,Typeable f) =>Data (Alt f a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->Alt f a -> c (Alt f a)Source#

gunfold :: (forall b r.Data b => c (b -> r) -> c r) -> (forall r. r -> c r) ->Constr -> c (Alt f a)Source#

toConstr ::Alt f a ->ConstrSource#

dataTypeOf ::Alt f a ->DataTypeSource#

dataCast1 ::Typeable t => (forall d.Data d => c (t d)) ->Maybe (c (Alt f a))Source#

dataCast2 ::Typeable t => (forall d e. (Data d,Data e) => c (t d e)) ->Maybe (c (Alt f a))Source#

gmapT :: (forall b.Data b => b -> b) ->Alt f a ->Alt f aSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->Alt f a -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->Alt f a -> rSource#

gmapQ :: (forall d.Data d => d -> u) ->Alt f a -> [u]Source#

gmapQi ::Int -> (forall d.Data d => d -> u) ->Alt f a -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->Alt f a -> m (Alt f a)Source#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->Alt f a -> m (Alt f a)Source#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->Alt f a -> m (Alt f a)Source#

Num (f a) =>Num (Alt f a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

(+) ::Alt f a ->Alt f a ->Alt f aSource#

(-) ::Alt f a ->Alt f a ->Alt f aSource#

(*) ::Alt f a ->Alt f a ->Alt f aSource#

negate ::Alt f a ->Alt f aSource#

abs ::Alt f a ->Alt f aSource#

signum ::Alt f a ->Alt f aSource#

fromInteger ::Integer ->Alt f aSource#

Ord (f a) =>Ord (Alt f a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

compare ::Alt f a ->Alt f a ->Ordering#

(<) ::Alt f a ->Alt f a ->Bool#

(<=) ::Alt f a ->Alt f a ->Bool#

(>) ::Alt f a ->Alt f a ->Bool#

(>=) ::Alt f a ->Alt f a ->Bool#

max ::Alt f a ->Alt f a ->Alt f a#

min ::Alt f a ->Alt f a ->Alt f a#

Read (f a) =>Read (Alt f a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Show (f a) =>Show (Alt f a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Generic (Alt f a)Source# 
Instance details

Defined inData.Semigroup.Internal

Associated Types

typeRep (Alt f a) ::Type ->TypeSource#

Methods

from ::Alt f a ->Rep (Alt f a) xSource#

to ::Rep (Alt f a) x ->Alt f aSource#

Alternative f =>Semigroup (Alt f a)Source#

Since: 4.9.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

(<>) ::Alt f a ->Alt f a ->Alt f aSource#

sconcat ::NonEmpty (Alt f a) ->Alt f aSource#

stimes ::Integral b => b ->Alt f a ->Alt f aSource#

Alternative f =>Monoid (Alt f a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

Methods

mempty ::Alt f aSource#

mappend ::Alt f a ->Alt f a ->Alt f aSource#

mconcat :: [Alt f a] ->Alt f aSource#

typeRep1 (Alt f :: k ->Type)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

typeRep1 (Alt f :: k ->Type) =D1 (MetaData "Alt" "Data.Semigroup.Internal" "base"True) (C1 (MetaCons "Alt"PrefixITrue) (S1 (MetaSel (Just "getAlt")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec1 f)))
typeRep (Alt f a)Source#

Since: 4.8.0.0

Instance details

Defined inData.Semigroup.Internal

typeRep (Alt f a) =D1 (MetaData "Alt" "Data.Semigroup.Internal" "base"True) (C1 (MetaCons "Alt"PrefixITrue) (S1 (MetaSel (Just "getAlt")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 (f a))))

Applicative wrapper

newtypeAp f aSource#

This data type witnesses the lifting of aMonoid into anApplicative pointwise.

Since: 4.12.0.0

Constructors

Ap 

Fields

Instances
Generic1 (Ap f :: k ->Type)Source# 
Instance details

Defined inData.Monoid

Associated Types

typeRep1 (Ap f) :: k ->TypeSource#

Methods

from1 ::Ap f a ->Rep1 (Ap f) aSource#

to1 ::Rep1 (Ap f) a ->Ap f aSource#

Monad f =>Monad (Ap f)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

(>>=) ::Ap f a -> (a ->Ap f b) ->Ap f bSource#

(>>) ::Ap f a ->Ap f b ->Ap f bSource#

return :: a ->Ap f aSource#

fail ::String ->Ap f aSource#

Functor f =>Functor (Ap f)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

fmap :: (a -> b) ->Ap f a ->Ap f bSource#

(<$) :: a ->Ap f b ->Ap f aSource#

MonadFix f =>MonadFix (Ap f)Source#

Since: 4.12.0.0

Instance details

Defined inControl.Monad.Fix

Methods

mfix :: (a ->Ap f a) ->Ap f aSource#

MonadFail f =>MonadFail (Ap f)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

fail ::String ->Ap f aSource#

Applicative f =>Applicative (Ap f)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

pure :: a ->Ap f aSource#

(<*>) ::Ap f (a -> b) ->Ap f a ->Ap f bSource#

liftA2 :: (a -> b -> c) ->Ap f a ->Ap f b ->Ap f cSource#

(*>) ::Ap f a ->Ap f b ->Ap f bSource#

(<*) ::Ap f a ->Ap f b ->Ap f aSource#

Foldable f =>Foldable (Ap f)Source#

Since: 4.12.0.0

Instance details

Defined inData.Foldable

Methods

fold ::Monoid m =>Ap f m -> mSource#

foldMap ::Monoid m => (a -> m) ->Ap f a -> mSource#

foldr :: (a -> b -> b) -> b ->Ap f a -> bSource#

foldr' :: (a -> b -> b) -> b ->Ap f a -> bSource#

foldl :: (b -> a -> b) -> b ->Ap f a -> bSource#

foldl' :: (b -> a -> b) -> b ->Ap f a -> bSource#

foldr1 :: (a -> a -> a) ->Ap f a -> aSource#

foldl1 :: (a -> a -> a) ->Ap f a -> aSource#

toList ::Ap f a -> [a]Source#

null ::Ap f a ->BoolSource#

length ::Ap f a ->IntSource#

elem ::Eq a => a ->Ap f a ->BoolSource#

maximum ::Ord a =>Ap f a -> aSource#

minimum ::Ord a =>Ap f a -> aSource#

sum ::Num a =>Ap f a -> aSource#

product ::Num a =>Ap f a -> aSource#

Traversable f =>Traversable (Ap f)Source#

Since: 4.12.0.0

Instance details

Defined inData.Traversable

Methods

traverse ::Applicative f0 => (a -> f0 b) ->Ap f a -> f0 (Ap f b)Source#

sequenceA ::Applicative f0 =>Ap f (f0 a) -> f0 (Ap f a)Source#

mapM ::Monad m => (a -> m b) ->Ap f a -> m (Ap f b)Source#

sequence ::Monad m =>Ap f (m a) -> m (Ap f a)Source#

MonadPlus f =>MonadPlus (Ap f)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

mzero ::Ap f aSource#

mplus ::Ap f a ->Ap f a ->Ap f aSource#

Alternative f =>Alternative (Ap f)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

empty ::Ap f aSource#

(<|>) ::Ap f a ->Ap f a ->Ap f aSource#

some ::Ap f a ->Ap f [a]Source#

many ::Ap f a ->Ap f [a]Source#

(Applicative f,Bounded a) =>Bounded (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Enum (f a) =>Enum (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

succ ::Ap f a ->Ap f aSource#

pred ::Ap f a ->Ap f aSource#

toEnum ::Int ->Ap f aSource#

fromEnum ::Ap f a ->IntSource#

enumFrom ::Ap f a -> [Ap f a]Source#

enumFromThen ::Ap f a ->Ap f a -> [Ap f a]Source#

enumFromTo ::Ap f a ->Ap f a -> [Ap f a]Source#

enumFromThenTo ::Ap f a ->Ap f a ->Ap f a -> [Ap f a]Source#

Eq (f a) =>Eq (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

(==) ::Ap f a ->Ap f a ->Bool#

(/=) ::Ap f a ->Ap f a ->Bool#

(Data (f a),Data a,Typeable f) =>Data (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Data

Methods

gfoldl :: (forall d b.Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) ->Ap f a -> c (Ap f a)Source#

gunfold :: (forall b r.Data b => c (b -> r) -> c r) -> (forall r. r -> c r) ->Constr -> c (Ap f a)Source#

toConstr ::Ap f a ->ConstrSource#

dataTypeOf ::Ap f a ->DataTypeSource#

dataCast1 ::Typeable t => (forall d.Data d => c (t d)) ->Maybe (c (Ap f a))Source#

dataCast2 ::Typeable t => (forall d e. (Data d,Data e) => c (t d e)) ->Maybe (c (Ap f a))Source#

gmapT :: (forall b.Data b => b -> b) ->Ap f a ->Ap f aSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d.Data d => d -> r') ->Ap f a -> rSource#

gmapQr :: (r' -> r -> r) -> r -> (forall d.Data d => d -> r') ->Ap f a -> rSource#

gmapQ :: (forall d.Data d => d -> u) ->Ap f a -> [u]Source#

gmapQi ::Int -> (forall d.Data d => d -> u) ->Ap f a -> uSource#

gmapM ::Monad m => (forall d.Data d => d -> m d) ->Ap f a -> m (Ap f a)Source#

gmapMp ::MonadPlus m => (forall d.Data d => d -> m d) ->Ap f a -> m (Ap f a)Source#

gmapMo ::MonadPlus m => (forall d.Data d => d -> m d) ->Ap f a -> m (Ap f a)Source#

(Applicative f,Num a) =>Num (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

(+) ::Ap f a ->Ap f a ->Ap f aSource#

(-) ::Ap f a ->Ap f a ->Ap f aSource#

(*) ::Ap f a ->Ap f a ->Ap f aSource#

negate ::Ap f a ->Ap f aSource#

abs ::Ap f a ->Ap f aSource#

signum ::Ap f a ->Ap f aSource#

fromInteger ::Integer ->Ap f aSource#

Ord (f a) =>Ord (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

compare ::Ap f a ->Ap f a ->Ordering#

(<) ::Ap f a ->Ap f a ->Bool#

(<=) ::Ap f a ->Ap f a ->Bool#

(>) ::Ap f a ->Ap f a ->Bool#

(>=) ::Ap f a ->Ap f a ->Bool#

max ::Ap f a ->Ap f a ->Ap f a#

min ::Ap f a ->Ap f a ->Ap f a#

Read (f a) =>Read (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Show (f a) =>Show (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Generic (Ap f a)Source# 
Instance details

Defined inData.Monoid

Associated Types

typeRep (Ap f a) ::Type ->TypeSource#

Methods

from ::Ap f a ->Rep (Ap f a) xSource#

to ::Rep (Ap f a) x ->Ap f aSource#

(Applicative f,Semigroup a) =>Semigroup (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

(<>) ::Ap f a ->Ap f a ->Ap f aSource#

sconcat ::NonEmpty (Ap f a) ->Ap f aSource#

stimes ::Integral b => b ->Ap f a ->Ap f aSource#

(Applicative f,Monoid a) =>Monoid (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

Methods

mempty ::Ap f aSource#

mappend ::Ap f a ->Ap f a ->Ap f aSource#

mconcat :: [Ap f a] ->Ap f aSource#

typeRep1 (Ap f :: k ->Type)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

typeRep1 (Ap f :: k ->Type) =D1 (MetaData "Ap" "Data.Monoid" "base"True) (C1 (MetaCons "Ap"PrefixITrue) (S1 (MetaSel (Just "getAp")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec1 f)))
typeRep (Ap f a)Source#

Since: 4.12.0.0

Instance details

Defined inData.Monoid

typeRep (Ap f a) =D1 (MetaData "Ap" "Data.Monoid" "base"True) (C1 (MetaCons "Ap"PrefixITrue) (S1 (MetaSel (Just "getAp")NoSourceUnpackednessNoSourceStrictnessDecidedLazy) (Rec0 (f a))))

Produced byHaddock version 2.20.0


[8]ページ先頭

©2009-2025 Movatter.jp