Cabal-syntax-3.16.1.0: A library for working with .cabal files
Safe HaskellNone
LanguageHaskell2010

Distribution.Compat.Semigroup

Description

Compatibility layer for Data.Semigroup

Synopsis

Documentation

class Semigroup a where Source #

The class of semigroups (types with an associative binary operation).

Instances should satisfy the following:

Associativity
x <> (y <> z) = (x <> y) <> z

You can alternatively define sconcat instead of (<>), in which case the laws are:

Unit
sconcat (pure x) = x
Multiplication
sconcat (join xss) = sconcat (fmap sconcat xss)

Since: base-4.9.0.0

Minimal complete definition

(<>) | sconcat

Methods

(<>) :: a -> a -> a infixr 6 Source #

An associative operation.

Examples

Expand
>>> [1,2,3] <> [4,5,6]
[1,2,3,4,5,6]
>>> Just [1, 2, 3] <> Just [4, 5, 6]
Just [1,2,3,4,5,6]
>>> putStr "Hello, " <> putStrLn "World!"
Hello, World!

Instances

Instances details
Semigroup Benchmark Source # 
Instance details

Defined in Distribution.Types.Benchmark

Semigroup BenchmarkInterface Source # 
Instance details

Defined in Distribution.Types.BenchmarkInterface

Semigroup BuildInfo Source # 
Instance details

Defined in Distribution.Types.BuildInfo

Semigroup Component Source # 
Instance details

Defined in Distribution.Types.Component

Semigroup DependencyMap Source # 
Instance details

Defined in Distribution.Types.DependencyMap

Semigroup Executable Source # 
Instance details

Defined in Distribution.Types.Executable

Semigroup ExecutableScope Source #

Any like semigroup, where ExecutablePrivate is 'Any True'

Instance details

Defined in Distribution.Types.ExecutableScope

Semigroup FlagAssignment Source # 
Instance details

Defined in Distribution.Types.Flag

Semigroup ForeignLib Source # 
Instance details

Defined in Distribution.Types.ForeignLib

Semigroup ForeignLibType Source # 
Instance details

Defined in Distribution.Types.ForeignLibType

Semigroup Library Source # 
Instance details

Defined in Distribution.Types.Library

Semigroup LibraryVisibility Source # 
Instance details

Defined in Distribution.Types.LibraryVisibility

Semigroup SetupBuildInfo Source # 
Instance details

Defined in Distribution.Types.SetupBuildInfo

Semigroup TestSuite Source # 
Instance details

Defined in Distribution.Types.TestSuite

Semigroup TestSuiteInterface Source # 
Instance details

Defined in Distribution.Types.TestSuiteInterface

Semigroup UnqualComponentName Source # 
Instance details

Defined in Distribution.Types.UnqualComponentName

Semigroup ShortText Source # 
Instance details

Defined in Distribution.Utils.ShortText

Semigroup ByteArray Source #

Since: base-4.17.0.0

Instance details

Defined in Data.Array.Byte

Semigroup Builder Source # 
Instance details

Defined in Data.ByteString.Builder.Internal

Semigroup ByteString Source # 
Instance details

Defined in Data.ByteString.Internal.Type

Semigroup ByteString Source # 
Instance details

Defined in Data.ByteString.Lazy.Internal

Semigroup ShortByteString Source # 
Instance details

Defined in Data.ByteString.Short.Internal

Semigroup IntSet Source #

(<>) = union

Since: containers-0.5.7

Instance details

Defined in Data.IntSet.Internal

Semigroup Intersection Source # 
Instance details

Defined in Data.IntSet.Internal

Semigroup Unit Source # 
Instance details

Defined in Control.DeepSeq

Semigroup Void Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Semigroup All Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

(<>) :: All -> All -> All Source #

sconcat :: NonEmpty All -> All Source #

stimes :: Integral b => b -> All -> All Source #

Semigroup Any Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

(<>) :: Any -> Any -> Any Source #

sconcat :: NonEmpty Any -> Any Source #

stimes :: Integral b => b -> Any -> Any Source #

Semigroup ExceptionContext Source # 
Instance details

Defined in GHC.Internal.Exception.Context

Semigroup Ordering Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Semigroup OsString Source # 
Instance details

Defined in System.OsString.Internal.Types

Semigroup PosixString Source # 
Instance details

Defined in System.OsString.Internal.Types

Semigroup WindowsString Source # 
Instance details

Defined in System.OsString.Internal.Types

Semigroup Doc Source # 
Instance details

Defined in Text.PrettyPrint.HughesPJ

Methods

(<>) :: Doc -> Doc -> Doc Source #

sconcat :: NonEmpty Doc -> Doc Source #

stimes :: Integral b => b -> Doc -> Doc Source #

Semigroup Text Source #

Beware: stimes will crash if the given number does not fit into an Int.

Since: text-1.2.2.0

Instance details

Defined in Data.Text

Semigroup Builder Source # 
Instance details

Defined in Data.Text.Internal.Builder

Semigroup Text Source #

Since: text-1.2.2.0

Instance details

Defined in Data.Text.Lazy

Semigroup StrictTextBuilder Source #

Concatenation of StrictBuilder is right-biased: the right builder will be run first. This allows a builder to run tail-recursively when it was accumulated left-to-right.

Instance details

Defined in Data.Text.Internal.StrictBuilder

Semigroup CalendarDiffDays Source #

Additive

Instance details

Defined in Data.Time.Calendar.CalendarDiffDays

Semigroup CalendarDiffTime Source #

Additive

Instance details

Defined in Data.Time.LocalTime.Internal.CalendarDiffTime

Semigroup () Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Methods

(<>) :: () -> () -> () Source #

sconcat :: NonEmpty () -> () Source #

stimes :: Integral b => b -> () -> () Source #

Semigroup (DList a) Source # 
Instance details

Defined in Distribution.Compat.DList

Methods

(<>) :: DList a -> DList a -> DList a Source #

sconcat :: NonEmpty (DList a) -> DList a Source #

stimes :: Integral b => b -> DList a -> DList a Source #

Ord a => Semigroup (NonEmptySet a) Source #

Note: there aren't Monoid instance.

Instance details

Defined in Distribution.Compat.NonEmptySet

Semigroup (First' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

(<>) :: First' a -> First' a -> First' a Source #

sconcat :: NonEmpty (First' a) -> First' a Source #

stimes :: Integral b => b -> First' a -> First' a Source #

Semigroup (Last' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

(<>) :: Last' a -> Last' a -> Last' a Source #

sconcat :: NonEmpty (Last' a) -> Last' a Source #

stimes :: Integral b => b -> Last' a -> Last' a Source #

Semigroup a => Semigroup (Option' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

(<>) :: Option' a -> Option' a -> Option' a Source #

sconcat :: NonEmpty (Option' a) -> Option' a Source #

stimes :: Integral b => b -> Option' a -> Option' a Source #

Semigroup a => Semigroup (PerCompilerFlavor a) Source # 
Instance details

Defined in Distribution.Compiler

Semigroup (Condition a) Source # 
Instance details

Defined in Distribution.Types.Condition

Semigroup (FromMaybe b) Source # 
Instance details

Defined in Data.Foldable1

Methods

(<>) :: FromMaybe b -> FromMaybe b -> FromMaybe b Source #

sconcat :: NonEmpty (FromMaybe b) -> FromMaybe b Source #

stimes :: Integral b0 => b0 -> FromMaybe b -> FromMaybe b Source #

Semigroup a => Semigroup (JoinWith a) Source # 
Instance details

Defined in Data.Foldable1

Methods

(<>) :: JoinWith a -> JoinWith a -> JoinWith a Source #

sconcat :: NonEmpty (JoinWith a) -> JoinWith a Source #

stimes :: Integral b => b -> JoinWith a -> JoinWith a Source #

Semigroup (NonEmptyDList a) Source # 
Instance details

Defined in Data.Foldable1

Methods

(<>) :: NonEmptyDList a -> NonEmptyDList a -> NonEmptyDList a Source #

sconcat :: NonEmpty (NonEmptyDList a) -> NonEmptyDList a Source #

stimes :: Integral b => b -> NonEmptyDList a -> NonEmptyDList a Source #

Semigroup (Comparison a) Source #

(<>) on comparisons combines results with (<>) @Ordering. Without newtypes this equals liftA2 (liftA2 (<>)).

(<>) :: Comparison a -> Comparison a -> Comparison a
Comparison cmp <> Comparison cmp' = Comparison a a' ->
  cmp a a' <> cmp a a'
Instance details

Defined in Data.Functor.Contravariant

Semigroup (Equivalence a) Source #

(<>) on equivalences uses logical conjunction (&&) on the results. Without newtypes this equals liftA2 (liftA2 (&&)).

(<>) :: Equivalence a -> Equivalence a -> Equivalence a
Equivalence equiv <> Equivalence equiv' = Equivalence a b ->
  equiv a b && equiv' a b
Instance details

Defined in Data.Functor.Contravariant

Semigroup (Predicate a) Source #

(<>) on predicates uses logical conjunction (&&) on the results. Without newtypes this equals liftA2 (&&).

(<>) :: Predicate a -> Predicate a -> Predicate a
Predicate pred <> Predicate pred' = Predicate a ->
  pred a && pred' a
Instance details

Defined in Data.Functor.Contravariant

Semigroup (First a) Source #

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

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

sconcat :: NonEmpty (First a) -> First a Source #

stimes :: Integral b => b -> First a -> First a Source #

Semigroup (Last a) Source #

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

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

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

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

Ord a => Semigroup (Max a) Source #

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(<>) :: Max a -> Max a -> Max a Source #

sconcat :: NonEmpty (Max a) -> Max a Source #

stimes :: Integral b => b -> Max a -> Max a Source #

Ord a => Semigroup (Min a) Source #

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

(<>) :: Min a -> Min a -> Min a Source #

sconcat :: NonEmpty (Min a) -> Min a Source #

stimes :: Integral b => b -> Min a -> Min a Source #

Monoid m => Semigroup (WrappedMonoid m) Source #

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Semigroup (PutM ()) Source # 
Instance details

Defined in Data.Binary.Put

Methods

(<>) :: PutM () -> PutM () -> PutM () Source #

sconcat :: NonEmpty (PutM ()) -> PutM () Source #

stimes :: Integral b => b -> PutM () -> PutM () Source #

Semigroup (IntMap a) Source #

(<>) = union

Since: containers-0.5.7

Instance details

Defined in Data.IntMap.Internal

Methods

(<>) :: IntMap a -> IntMap a -> IntMap a Source #

sconcat :: NonEmpty (IntMap a) -> IntMap a Source #

stimes :: Integral b => b -> IntMap a -> IntMap a Source #

Semigroup (Seq a) Source #

(<>) = (><)

Since: containers-0.5.7

Instance details

Defined in Data.Sequence.Internal

Methods

(<>) :: Seq a -> Seq a -> Seq a Source #

sconcat :: NonEmpty (Seq a) -> Seq a Source #

stimes :: Integral b => b -> Seq a -> Seq a Source #

Ord a => Semigroup (Intersection a) Source # 
Instance details

Defined in Data.Set.Internal

Semigroup (MergeSet a) Source # 
Instance details

Defined in Data.Set.Internal

Methods

(<>) :: MergeSet a -> MergeSet a -> MergeSet a Source #

sconcat :: NonEmpty (MergeSet a) -> MergeSet a Source #

stimes :: Integral b => b -> MergeSet a -> MergeSet a Source #

Ord a => Semigroup (Set a) Source #

(<>) = union

Since: containers-0.5.7

Instance details

Defined in Data.Set.Internal

Methods

(<>) :: Set a -> Set a -> Set a Source #

sconcat :: NonEmpty (Set a) -> Set a Source #

stimes :: Integral b => b -> Set a -> Set a Source #

Semigroup (NonEmpty a) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.NonEmpty

Semigroup a => Semigroup (Identity a) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Identity

Semigroup (First a) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Monoid

Methods

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

sconcat :: NonEmpty (First a) -> First a Source #

stimes :: Integral b => b -> First a -> First a Source #

Semigroup (Last a) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Monoid

Methods

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

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

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

Semigroup a => Semigroup (Down a) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.Data.Ord

Methods

(<>) :: Down a -> Down a -> Down a Source #

sconcat :: NonEmpty (Down a) -> Down a Source #

stimes :: Integral b => b -> Down a -> Down a Source #

Semigroup a => Semigroup (Dual a) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

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

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

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

Semigroup (Endo a) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

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

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

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

Num a => Semigroup (Product a) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

(<>) :: Product a -> Product a -> Product a Source #

sconcat :: NonEmpty (Product a) -> Product a Source #

stimes :: Integral b => b -> Product a -> Product a Source #

Num a => Semigroup (Sum a) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

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

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

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

(Generic a, Semigroup (Rep a ())) => Semigroup (Generically a) Source #

Since: base-4.17.0.0

Instance details

Defined in GHC.Internal.Generics

Semigroup p => Semigroup (Par1 p) Source #

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

(<>) :: Par1 p -> Par1 p -> Par1 p Source #

sconcat :: NonEmpty (Par1 p) -> Par1 p Source #

stimes :: Integral b => b -> Par1 p -> Par1 p Source #

Semigroup a => Semigroup (Q a) Source #

Since: ghc-internal-2.17.0.0

Instance details

Defined in GHC.Internal.TH.Syntax

Methods

(<>) :: Q a -> Q a -> Q a Source #

sconcat :: NonEmpty (Q a) -> Q a Source #

stimes :: Integral b => b -> Q a -> Q a Source #

Semigroup a => Semigroup (IO a) Source #

Since: base-4.10.0.0

Instance details

Defined in GHC.Internal.Base

Methods

(<>) :: IO a -> IO a -> IO a Source #

sconcat :: NonEmpty (IO a) -> IO a Source #

stimes :: Integral b => b -> IO a -> IO a Source #

Semigroup (Doc a) Source # 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

(<>) :: Doc a -> Doc a -> Doc a Source #

sconcat :: NonEmpty (Doc a) -> Doc a Source #

stimes :: Integral b => b -> Doc a -> Doc a Source #

Semigroup a => Semigroup (Maybe a) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Methods

(<>) :: Maybe a -> Maybe a -> Maybe a Source #

sconcat :: NonEmpty (Maybe a) -> Maybe a Source #

stimes :: Integral b => b -> Maybe a -> Maybe a Source #

Semigroup a => Semigroup (Solo a) Source #

Since: base-4.15

Instance details

Defined in GHC.Internal.Base

Methods

(<>) :: Solo a -> Solo a -> Solo a Source #

sconcat :: NonEmpty (Solo a) -> Solo a Source #

stimes :: Integral b => b -> Solo a -> Solo a Source #

Semigroup [a] Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Methods

(<>) :: [a] -> [a] -> [a] Source #

sconcat :: NonEmpty [a] -> [a] Source #

stimes :: Integral b => b -> [a] -> [a] Source #

Semigroup a => Semigroup (Op a b) Source #

(<>) @(Op a b) without newtypes is (<>) @(b->a) = liftA2 (<>). This lifts the Semigroup operation (<>) over the output of a.

(<>) :: Op a b -> Op a b -> Op a b
Op f <> Op g = Op a -> f a <> g a
Instance details

Defined in Data.Functor.Contravariant

Methods

(<>) :: Op a b -> Op a b -> Op a b Source #

sconcat :: NonEmpty (Op a b) -> Op a b Source #

stimes :: Integral b0 => b0 -> Op a b -> Op a b Source #

Ord k => Semigroup (Map k v) Source #

(<>) = union

Since: containers-0.5.7

Instance details

Defined in Data.Map.Internal

Methods

(<>) :: Map k v -> Map k v -> Map k v Source #

sconcat :: NonEmpty (Map k v) -> Map k v Source #

stimes :: Integral b => b -> Map k v -> Map k v Source #

Semigroup (Either a b) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Either

Methods

(<>) :: Either a b -> Either a b -> Either a b Source #

sconcat :: NonEmpty (Either a b) -> Either a b Source #

stimes :: Integral b0 => b0 -> Either a b -> Either a b Source #

Semigroup (Proxy s) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Proxy

Methods

(<>) :: Proxy s -> Proxy s -> Proxy s Source #

sconcat :: NonEmpty (Proxy s) -> Proxy s Source #

stimes :: Integral b => b -> Proxy s -> Proxy s Source #

Semigroup (U1 p) Source #

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

(<>) :: U1 p -> U1 p -> U1 p Source #

sconcat :: NonEmpty (U1 p) -> U1 p Source #

stimes :: Integral b => b -> U1 p -> U1 p Source #

Semigroup (V1 p) Source #

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

(<>) :: V1 p -> V1 p -> V1 p Source #

sconcat :: NonEmpty (V1 p) -> V1 p Source #

stimes :: Integral b => b -> V1 p -> V1 p Source #

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Methods

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

sconcat :: NonEmpty (a, b) -> (a, b) Source #

stimes :: Integral b0 => b0 -> (a, b) -> (a, b) Source #

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Methods

(<>) :: (a -> b) -> (a -> b) -> a -> b Source #

sconcat :: NonEmpty (a -> b) -> a -> b Source #

stimes :: Integral b0 => b0 -> (a -> b) -> a -> b Source #

(Semigroup a, Semigroup c) => Semigroup (CondTree v c a) Source # 
Instance details

Defined in Distribution.Types.CondTree

Methods

(<>) :: CondTree v c a -> CondTree v c a -> CondTree v c a Source #

sconcat :: NonEmpty (CondTree v c a) -> CondTree v c a Source #

stimes :: Integral b => b -> CondTree v c a -> CondTree v c a Source #

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

(<>) :: Const a b -> Const a b -> Const a b Source #

sconcat :: NonEmpty (Const a b) -> Const a b Source #

stimes :: Integral b0 => b0 -> Const a b -> Const a b Source #

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Data.Monoid

Methods

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

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

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

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

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

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

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

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

(<>) :: Rec1 f p -> Rec1 f p -> Rec1 f p Source #

sconcat :: NonEmpty (Rec1 f p) -> Rec1 f p Source #

stimes :: Integral b => b -> Rec1 f p -> Rec1 f p Source #

Semigroup a => Semigroup (Constant a b) Source # 
Instance details

Defined in Data.Functor.Constant

Methods

(<>) :: Constant a b -> Constant a b -> Constant a b Source #

sconcat :: NonEmpty (Constant a b) -> Constant a b Source #

stimes :: Integral b0 => b0 -> Constant a b -> Constant a b Source #

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Methods

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

sconcat :: NonEmpty (a, b, c) -> (a, b, c) Source #

stimes :: Integral b0 => b0 -> (a, b, c) -> (a, b, c) Source #

(Semigroup (f a), Semigroup (g a)) => Semigroup (Product f g a) Source #

Since: base-4.16.0.0

Instance details

Defined in Data.Functor.Product

Methods

(<>) :: Product f g a -> Product f g a -> Product f g a Source #

sconcat :: NonEmpty (Product f g a) -> Product f g a Source #

stimes :: Integral b => b -> Product f g a -> Product f g a Source #

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

(<>) :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p Source #

sconcat :: NonEmpty ((f :*: g) p) -> (f :*: g) p Source #

stimes :: Integral b => b -> (f :*: g) p -> (f :*: g) p Source #

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

(<>) :: K1 i c p -> K1 i c p -> K1 i c p Source #

sconcat :: NonEmpty (K1 i c p) -> K1 i c p Source #

stimes :: Integral b => b -> K1 i c p -> K1 i c p Source #

Semigroup a => Semigroup (ParsecT s u m a) Source #

The Semigroup instance for ParsecT is used to append the result of several parsers, for example:

(many $ char a) <> (many $ char b)

The above will parse a string like "aabbb" and return a successful parse result "aabbb". Compare against the below which will produce a result of "bbb" for the same input:

(many $ char a) >> (many $ char b)
(many $ char a) *> (many $ char b)

Since: parsec-3.1.12

Instance details

Defined in Text.Parsec.Prim

Methods

(<>) :: ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a Source #

sconcat :: NonEmpty (ParsecT s u m a) -> ParsecT s u m a Source #

stimes :: Integral b => b -> ParsecT s u m a -> ParsecT s u m a Source #

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Methods

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

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

stimes :: Integral b0 => b0 -> (a, b, c, d) -> (a, b, c, d) Source #

Semigroup (f (g a)) => Semigroup (Compose f g a) Source #

Since: base-4.16.0.0

Instance details

Defined in Data.Functor.Compose

Methods

(<>) :: Compose f g a -> Compose f g a -> Compose f g a Source #

sconcat :: NonEmpty (Compose f g a) -> Compose f g a Source #

stimes :: Integral b => b -> Compose f g a -> Compose f g a Source #

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

(<>) :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p Source #

sconcat :: NonEmpty ((f :.: g) p) -> (f :.: g) p Source #

stimes :: Integral b => b -> (f :.: g) p -> (f :.: g) p Source #

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

(<>) :: M1 i c f p -> M1 i c f p -> M1 i c f p Source #

sconcat :: NonEmpty (M1 i c f p) -> M1 i c f p Source #

stimes :: Integral b => b -> M1 i c f p -> M1 i c f p Source #

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Methods

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

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

stimes :: Integral b0 => b0 -> (a, b, c, d, e) -> (a, b, c, d, e) Source #

class Semigroup a => Monoid a where Source #

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

Right identity
x <> mempty = x
Left identity
mempty <> x = x
Associativity
x <> (y <> z) = (x <> y) <> z (Semigroup law)
Concatenation
mconcat = foldr (<>) mempty

You can alternatively define mconcat instead of mempty, in which case the laws are:

Unit
mconcat (pure x) = x
Multiplication
mconcat (join xss) = mconcat (fmap mconcat xss)
Subclass
mconcat (toList xs) = sconcat xs

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 define newtypes and make those instances of Monoid, e.g. Sum and Product.

NOTE: Semigroup is a superclass of Monoid since base-4.11.0.0.

Minimal complete definition

mempty | mconcat

Methods

mempty :: a Source #

Identity of mappend

Examples

Expand
>>> "Hello world" <> mempty
"Hello world"
>>> mempty <> [1, 2, 3]
[1,2,3]

mappend :: a -> a -> a Source #

An associative operation

NOTE: This method is redundant and has the default implementation mappend = (<>) since base-4.11.0.0. Should it be implemented manually, since mappend is a synonym for (<>), it is expected that the two functions are defined the same way. In a future GHC release mappend will be removed from Monoid.

mconcat :: [a] -> a Source #

Fold a list using the monoid.

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

>>> mconcat ["Hello", " ", "Haskell", "!"]
"Hello Haskell!"

Instances

Instances details
Monoid Benchmark Source # 
Instance details

Defined in Distribution.Types.Benchmark

Monoid BenchmarkInterface Source # 
Instance details

Defined in Distribution.Types.BenchmarkInterface

Monoid BuildInfo Source # 
Instance details

Defined in Distribution.Types.BuildInfo

Monoid DependencyMap Source # 
Instance details

Defined in Distribution.Types.DependencyMap

Monoid Executable Source # 
Instance details

Defined in Distribution.Types.Executable

Monoid ExecutableScope Source #

mempty = ExecutablePublic

Instance details

Defined in Distribution.Types.ExecutableScope

Monoid FlagAssignment Source # 
Instance details

Defined in Distribution.Types.Flag

Monoid ForeignLib Source # 
Instance details

Defined in Distribution.Types.ForeignLib

Monoid ForeignLibType Source # 
Instance details

Defined in Distribution.Types.ForeignLibType

Monoid Library Source #

This instance is not good.

We need it for addBuildableCondition. More correct method would be some kind of "create empty clone".

More concretely, addBuildableCondition will make `libVisibility = False` libraries when `buildable: false`. This may cause problems.

Instance details

Defined in Distribution.Types.Library

Monoid LibraryVisibility Source # 
Instance details

Defined in Distribution.Types.LibraryVisibility

Monoid SetupBuildInfo Source # 
Instance details

Defined in Distribution.Types.SetupBuildInfo

Monoid TestSuite Source # 
Instance details

Defined in Distribution.Types.TestSuite

Monoid TestSuiteInterface Source # 
Instance details

Defined in Distribution.Types.TestSuiteInterface

Monoid UnqualComponentName Source # 
Instance details

Defined in Distribution.Types.UnqualComponentName

Monoid ShortText Source # 
Instance details

Defined in Distribution.Utils.ShortText

Monoid ByteArray Source #

Since: base-4.17.0.0

Instance details

Defined in Data.Array.Byte

Monoid Builder Source # 
Instance details

Defined in Data.ByteString.Builder.Internal

Monoid ByteString Source # 
Instance details

Defined in Data.ByteString.Internal.Type

Monoid ByteString Source # 
Instance details

Defined in Data.ByteString.Lazy.Internal

Monoid ShortByteString Source # 
Instance details

Defined in Data.ByteString.Short.Internal

Monoid IntSet Source #

mempty = empty

Instance details

Defined in Data.IntSet.Internal

Monoid Unit Source # 
Instance details

Defined in Control.DeepSeq

Monoid All Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Monoid Any Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Monoid ExceptionContext Source # 
Instance details

Defined in GHC.Internal.Exception.Context

Monoid Ordering Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Monoid OsString Source #

"String-Concatenation" for OsString. This is not the same as (</>).

Instance details

Defined in System.OsString.Internal.Types

Monoid PosixString Source # 
Instance details

Defined in System.OsString.Internal.Types

Monoid WindowsString Source # 
Instance details

Defined in System.OsString.Internal.Types

Monoid Doc Source # 
Instance details

Defined in Text.PrettyPrint.HughesPJ

Monoid Text Source # 
Instance details

Defined in Data.Text

Monoid Builder Source # 
Instance details

Defined in Data.Text.Internal.Builder

Monoid Text Source # 
Instance details

Defined in Data.Text.Lazy

Monoid StrictTextBuilder Source # 
Instance details

Defined in Data.Text.Internal.StrictBuilder

Monoid CalendarDiffDays Source #

Additive

Instance details

Defined in Data.Time.Calendar.CalendarDiffDays

Monoid CalendarDiffTime Source #

Additive

Instance details

Defined in Data.Time.LocalTime.Internal.CalendarDiffTime

Monoid () Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Methods

mempty :: () Source #

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

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

Monoid (DList a) Source # 
Instance details

Defined in Distribution.Compat.DList

Methods

mempty :: DList a Source #

mappend :: DList a -> DList a -> DList a Source #

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

Semigroup a => Monoid (Option' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

(Semigroup a, Monoid a) => Monoid (PerCompilerFlavor a) Source # 
Instance details

Defined in Distribution.Compiler

Monoid (Condition a) Source # 
Instance details

Defined in Distribution.Types.Condition

Monoid (Comparison a) Source #

mempty on comparisons always returns EQ. Without newtypes this equals pure (pure EQ).

mempty :: Comparison a
mempty = Comparison _ _ -> EQ
Instance details

Defined in Data.Functor.Contravariant

Monoid (Equivalence a) Source #

mempty on equivalences always returns True. Without newtypes this equals pure (pure True).

mempty :: Equivalence a
mempty = Equivalence _ _ -> True
Instance details

Defined in Data.Functor.Contravariant

Monoid (Predicate a) Source #

mempty on predicates always returns True. Without newtypes this equals pure True.

mempty :: Predicate a
mempty = _ -> True
Instance details

Defined in Data.Functor.Contravariant

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

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

mempty :: Max a Source #

mappend :: Max a -> Max a -> Max a Source #

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

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

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

mempty :: Min a Source #

mappend :: Min a -> Min a -> Min a Source #

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

Monoid m => Monoid (WrappedMonoid m) Source #

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Monoid (PutM ()) Source # 
Instance details

Defined in Data.Binary.Put

Methods

mempty :: PutM () Source #

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

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

Monoid (IntMap a) Source #

mempty = empty

Instance details

Defined in Data.IntMap.Internal

Monoid (Seq a) Source #

mempty = empty

Instance details

Defined in Data.Sequence.Internal

Methods

mempty :: Seq a Source #

mappend :: Seq a -> Seq a -> Seq a Source #

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

Monoid (MergeSet a) Source # 
Instance details

Defined in Data.Set.Internal

Methods

mempty :: MergeSet a Source #

mappend :: MergeSet a -> MergeSet a -> MergeSet a Source #

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

Ord a => Monoid (Set a) Source #

mempty = empty

Instance details

Defined in Data.Set.Internal

Methods

mempty :: Set a Source #

mappend :: Set a -> Set a -> Set a Source #

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

Monoid a => Monoid (Identity a) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Identity

Monoid (First a) Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Monoid

Methods

mempty :: First a Source #

mappend :: First a -> First a -> First a Source #

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

Monoid (Last a) Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Monoid

Methods

mempty :: Last a Source #

mappend :: Last a -> Last a -> Last a Source #

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

Monoid a => Monoid (Down a) Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.Data.Ord

Methods

mempty :: Down a Source #

mappend :: Down a -> Down a -> Down a Source #

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

Monoid a => Monoid (Dual a) Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

mempty :: Dual a Source #

mappend :: Dual a -> Dual a -> Dual a Source #

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

Monoid (Endo a) Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

mempty :: Endo a Source #

mappend :: Endo a -> Endo a -> Endo a Source #

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

Num a => Monoid (Product a) Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Num a => Monoid (Sum a) Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

mempty :: Sum a Source #

mappend :: Sum a -> Sum a -> Sum a Source #

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

(Generic a, Monoid (Rep a ())) => Monoid (Generically a) Source #

Since: base-4.17.0.0

Instance details

Defined in GHC.Internal.Generics

Monoid p => Monoid (Par1 p) Source #

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

mempty :: Par1 p Source #

mappend :: Par1 p -> Par1 p -> Par1 p Source #

mconcat :: [Par1 p] -> Par1 p Source #

Monoid a => Monoid (Q a) Source #

Since: ghc-internal-2.17.0.0

Instance details

Defined in GHC.Internal.TH.Syntax

Methods

mempty :: Q a Source #

mappend :: Q a -> Q a -> Q a Source #

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

Monoid a => Monoid (IO a) Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Base

Methods

mempty :: IO a Source #

mappend :: IO a -> IO a -> IO a Source #

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

Monoid (Doc a) Source # 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

mempty :: Doc a Source #

mappend :: Doc a -> Doc a -> Doc a Source #

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

Semigroup a => Monoid (Maybe a) Source #

Lift a semigroup into Maybe forming a Monoid according to http://en.wikipedia.org/wiki/Monoid: "Any semigroup S may be turned into a monoid simply by adjoining an element e not in S and defining e*e = e and e*s = s = s*e for all s ∈ S."

Since 4.11.0: constraint on inner a value generalised from Monoid to Semigroup.

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Methods

mempty :: Maybe a Source #

mappend :: Maybe a -> Maybe a -> Maybe a Source #

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

Monoid a => Monoid (Solo a) Source #

Since: base-4.15

Instance details

Defined in GHC.Internal.Base

Methods

mempty :: Solo a Source #

mappend :: Solo a -> Solo a -> Solo a Source #

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

Monoid [a] Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Methods

mempty :: [a] Source #

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

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

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

mempty @(Op a b) without newtypes is mempty @(b->a) = _ -> mempty.

mempty :: Op a b
mempty = Op _ -> mempty
Instance details

Defined in Data.Functor.Contravariant

Methods

mempty :: Op a b Source #

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

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

Ord k => Monoid (Map k v) Source #

mempty = empty

Instance details

Defined in Data.Map.Internal

Methods

mempty :: Map k v Source #

mappend :: Map k v -> Map k v -> Map k v Source #

mconcat :: [Map k v] -> Map k v Source #

Monoid (Proxy s) Source #

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Data.Proxy

Methods

mempty :: Proxy s Source #

mappend :: Proxy s -> Proxy s -> Proxy s Source #

mconcat :: [Proxy s] -> Proxy s Source #

Monoid (U1 p) Source #

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

mempty :: U1 p Source #

mappend :: U1 p -> U1 p -> U1 p Source #

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

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

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Methods

mempty :: (a, b) Source #

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

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

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

Since: base-2.1

Instance details

Defined in GHC.Internal.Base

Methods

mempty :: a -> b Source #

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

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

(Semigroup a, Semigroup c, Monoid a, Monoid c) => Monoid (CondTree v c a) Source # 
Instance details

Defined in Distribution.Types.CondTree

Methods

mempty :: CondTree v c a Source #

mappend :: CondTree v c a -> CondTree v c a -> CondTree v c a Source #

mconcat :: [CondTree v c a] -> CondTree v c a Source #

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

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

mempty :: Const a b Source #

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

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

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Data.Monoid

Methods

mempty :: Ap f a Source #

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

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

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

Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

mempty :: Alt f a Source #

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

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

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

mempty :: Rec1 f p Source #

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

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

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

Defined in Data.Functor.Constant

Methods

mempty :: Constant a b Source #

mappend :: Constant a b -> Constant a b -> Constant a b Source #

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

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

Since: base-2.1

Instance details

Defined in GHC.Internal.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 #

(Monoid (f a), Monoid (g a)) => Monoid (Product f g a) Source #

Since: base-4.16.0.0

Instance details

Defined in Data.Functor.Product

Methods

mempty :: Product f g a Source #

mappend :: Product f g a -> Product f g a -> Product f g a Source #

mconcat :: [Product f g a] -> Product f g a Source #

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

mempty :: (f :*: g) p Source #

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

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

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

mempty :: K1 i c p Source #

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

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

(Monoid a, Semigroup (ParsecT s u m a)) => Monoid (ParsecT s u m a) Source #

The Monoid instance for ParsecT is used for the same purposes as the Semigroup instance.

Since: parsec-3.1.12

Instance details

Defined in Text.Parsec.Prim

Methods

mempty :: ParsecT s u m a Source #

mappend :: ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a Source #

mconcat :: [ParsecT s u m a] -> ParsecT s u m a Source #

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

Since: base-2.1

Instance details

Defined in GHC.Internal.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 (g a)) => Monoid (Compose f g a) Source #

Since: base-4.16.0.0

Instance details

Defined in Data.Functor.Compose

Methods

mempty :: Compose f g a Source #

mappend :: Compose f g a -> Compose f g a -> Compose f g a Source #

mconcat :: [Compose f g a] -> Compose f g a Source #

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

mempty :: (f :.: g) p Source #

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

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

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

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

mempty :: M1 i c f p Source #

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

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

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

Since: base-2.1

Instance details

Defined in GHC.Internal.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 #

newtype All Source #

Boolean monoid under conjunction (&&).

All x <> All y = All (x && y)

Examples

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

Constructors

All 

Fields

Instances

Instances details
Binary All Source #

Since: binary-0.8.4.0

Instance details

Defined in Data.Binary.Class

Methods

put :: All -> Put Source #

get :: Get All Source #

putList :: [All] -> Put Source #

NFData All Source #

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnf :: All -> () Source #

Monoid All Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Semigroup All Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

(<>) :: All -> All -> All Source #

sconcat :: NonEmpty All -> All Source #

stimes :: Integral b => b -> All -> All Source #

Eq All Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

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

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

Ord All Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

compare :: All -> All -> Ordering Source #

(<) :: All -> All -> Bool Source #

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

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

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

max :: All -> All -> All Source #

min :: All -> All -> All Source #

Data All Source #

Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Data

Methods

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

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

toConstr :: All -> Constr Source #

dataTypeOf :: All -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Bounded All Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Generic All Source # 
Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep All

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

type Rep All = D1 ('MetaData "All" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "All" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAll") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Methods

from :: All -> Rep All x Source #

to :: Rep All x -> All Source #

Read All Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Show All Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

type Rep All Source #

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

type Rep All = D1 ('MetaData "All" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "All" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAll") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

newtype Any Source #

Boolean monoid under disjunction (||).

Any x <> Any y = Any (x || y)

Examples

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

Constructors

Any 

Fields

Instances

Instances details
Binary Any Source #

Since: binary-0.8.4.0

Instance details

Defined in Data.Binary.Class

Methods

put :: Any -> Put Source #

get :: Get Any Source #

putList :: [Any] -> Put Source #

NFData Any Source #

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnf :: Any -> () Source #

Monoid Any Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Semigroup Any Source #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

(<>) :: Any -> Any -> Any Source #

sconcat :: NonEmpty Any -> Any Source #

stimes :: Integral b => b -> Any -> Any Source #

Eq Any Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

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

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

Ord Any Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

compare :: Any -> Any -> Ordering Source #

(<) :: Any -> Any -> Bool Source #

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

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

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

max :: Any -> Any -> Any Source #

min :: Any -> Any -> Any Source #

Data Any Source #

Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Data

Methods

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

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

toConstr :: Any -> Constr Source #

dataTypeOf :: Any -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Bounded Any Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Generic Any Source # 
Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep Any

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

type Rep Any = D1 ('MetaData "Any" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Any" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAny") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Methods

from :: Any -> Rep Any x Source #

to :: Rep Any x -> Any Source #

Read Any Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Show Any Source #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

type Rep Any Source #

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

type Rep Any = D1 ('MetaData "Any" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Any" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAny") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

newtype First' a Source #

A copy of First.

Constructors

First' 

Fields

Instances

Instances details
Semigroup (First' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

(<>) :: First' a -> First' a -> First' a Source #

sconcat :: NonEmpty (First' a) -> First' a Source #

stimes :: Integral b => b -> First' a -> First' a Source #

Eq a => Eq (First' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

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

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

Ord a => Ord (First' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

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

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

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

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

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

max :: First' a -> First' a -> First' a Source #

min :: First' a -> First' a -> First' a Source #

Show a => Show (First' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

newtype Last' a Source #

A copy of Last.

Constructors

Last' 

Fields

Instances

Instances details
Functor Last' Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

fmap :: (a -> b) -> Last' a -> Last' b Source #

(<$) :: a -> Last' b -> Last' a Source #

Structured a => Structured (Last' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

structure :: Proxy (Last' a) -> Structure Source #

structureHash' :: Tagged (Last' a) MD5

Binary a => Binary (Last' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

put :: Last' a -> Put Source #

get :: Get (Last' a) Source #

putList :: [Last' a] -> Put Source #

Semigroup (Last' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

(<>) :: Last' a -> Last' a -> Last' a Source #

sconcat :: NonEmpty (Last' a) -> Last' a Source #

stimes :: Integral b => b -> Last' a -> Last' a Source #

Eq a => Eq (Last' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

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

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

Ord a => Ord (Last' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

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

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

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

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

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

max :: Last' a -> Last' a -> Last' a Source #

min :: Last' a -> Last' a -> Last' a Source #

Generic (Last' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Associated Types

type Rep (Last' a) 
Instance details

Defined in Distribution.Compat.Semigroup

type Rep (Last' a) = D1 ('MetaData "Last'" "Distribution.Compat.Semigroup" "Cabal-syntax-3.16.1.0-fb3f" 'True) (C1 ('MetaCons "Last'" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Last' a -> Rep (Last' a) x Source #

to :: Rep (Last' a) x -> Last' a Source #

Read a => Read (Last' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Show a => Show (Last' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

type Rep (Last' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

type Rep (Last' a) = D1 ('MetaData "Last'" "Distribution.Compat.Semigroup" "Cabal-syntax-3.16.1.0-fb3f" 'True) (C1 ('MetaCons "Last'" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

newtype Option' a Source #

A wrapper around Maybe, providing the Semigroup and Monoid instances implemented for Maybe since base-4.11.

Constructors

Option' 

Fields

Instances

Instances details
Functor Option' Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

fmap :: (a -> b) -> Option' a -> Option' b Source #

(<$) :: a -> Option' b -> Option' a Source #

Structured a => Structured (Option' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Binary a => Binary (Option' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

put :: Option' a -> Put Source #

get :: Get (Option' a) Source #

putList :: [Option' a] -> Put Source #

Semigroup a => Monoid (Option' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Semigroup a => Semigroup (Option' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

(<>) :: Option' a -> Option' a -> Option' a Source #

sconcat :: NonEmpty (Option' a) -> Option' a Source #

stimes :: Integral b => b -> Option' a -> Option' a Source #

Eq a => Eq (Option' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Methods

(==) :: Option' a -> Option' a -> Bool Source #

(/=) :: Option' a -> Option' a -> Bool Source #

Ord a => Ord (Option' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Generic (Option' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Associated Types

type Rep (Option' a) 
Instance details

Defined in Distribution.Compat.Semigroup

type Rep (Option' a) = D1 ('MetaData "Option'" "Distribution.Compat.Semigroup" "Cabal-syntax-3.16.1.0-fb3f" 'True) (C1 ('MetaCons "Option'" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOption'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

Methods

from :: Option' a -> Rep (Option' a) x Source #

to :: Rep (Option' a) x -> Option' a Source #

Read a => Read (Option' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

Show a => Show (Option' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

type Rep (Option' a) Source # 
Instance details

Defined in Distribution.Compat.Semigroup

type Rep (Option' a) = D1 ('MetaData "Option'" "Distribution.Compat.Semigroup" "Cabal-syntax-3.16.1.0-fb3f" 'True) (C1 ('MetaCons "Option'" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOption'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

gmappend :: (Generic a, GSemigroup (Rep a)) => a -> a -> a Source #

Generically generate a Semigroup (<>) operation for any type implementing Generic. This operation will append two values by point-wise appending their component fields. It is only defined for product types.

gmappend a (gmappend b c) = gmappend (gmappend a b) c

gmempty :: (Generic a, GMonoid (Rep a)) => a Source #

Generically generate a Monoid mempty for any product-like type implementing Generic.

It is only defined for product types.

gmappend gmempty a = a = gmappend a gmempty