The class of semigroups (types with an associative binary operation).
Instances should satisfy the following:
You can alternatively define sconcat instead of (<>), in which case the laws are:
Methods
(<>) :: a -> a -> ainfixr 6An associative operation.
Examples
Example1 expression [1,2,3] <> [4,5,6][1,2,3,4,5,6]
Example1 expression Just [1, 2, 3] <> Just [4, 5, 6]Just [1,2,3,4,5,6]
Example1 expression putStr "Hello, " <> putStrLn "World!"Hello, World!
Instances281Semigroup, …
Semigroup DocDefined in Agda-2.8.0.2 · Agda.Compiler.JS.PrettySemigroup CommentDefined in Agda-2.8.0.2 · Agda.Compiler.JS.SyntaxSemigroup UsesFloatDefined in Agda-2.8.0.2 · Agda.Compiler.MAlonzo.CompilerSemigroup HsCompileStateDefined in Agda-2.8.0.2 · Agda.Compiler.MAlonzo.MiscSemigroup IdentityInDefined in Agda-2.8.0.2 · Agda.Compiler.Treeless.IdentitySemigroup OccursDefined in Agda-2.8.0.2 · Agda.Compiler.Treeless.SubstSemigroup SeqArgDefined in Agda-2.8.0.2 · Agda.Compiler.Treeless.SubstSemigroup UnderLambdaDefined in Agda-2.8.0.2 · Agda.Compiler.Treeless.SubstSemigroup NameKindBuilderDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.GenerateSemigroup PositionMapDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.PreciseSemigroup OptionsPragmaDefined in Agda-2.8.0.2 · Agda.Interaction.Library.BaseSemigroup BoundAndUsedNamesDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesBound names in first argument scope over second argument.
Semigroup CatchallDefined in Agda-2.8.0.2 · Agda.Syntax.CommonComposition is left-biased, taking the left Range if both have one.
Semigroup CoverageCheckDefined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup ExpandedEllipsisDefined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup FreeVariablesDefined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup HidingDefined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup IsAbstractDefined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup computes if any of several is an AbstractDef.
Semigroup IsMainDefined in Agda-2.8.0.2 · Agda.Syntax.CommonConjunctive semigroup (NotMain is absorbing).
Semigroup JointOpacityDefined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup OriginIrrelevantDefined in Agda-2.8.0.2 · Agda.Syntax.CommonRight-biased composition, because the left relevance acts as context, and the right one as occurrence.
Semigroup OriginRelevantDefined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup OriginShapeIrrelevantDefined in Agda-2.8.0.2 · Agda.Syntax.CommonRight-biased composition, because the left relevance acts as context, and the right one as occurrence.
Semigroup OverlappableDefined in Agda-2.8.0.2 · Agda.Syntax.CommonJust for the Hiding instance. Should never combine different overlapping.
Semigroup PositivityCheckDefined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup Q0OriginDefined in Agda-2.8.0.2 · Agda.Syntax.CommonRight-biased composition, because the left quantity acts as context, and the right one as occurrence.
Semigroup Q1OriginDefined in Agda-2.8.0.2 · Agda.Syntax.CommonRight-biased composition, because the left quantity acts as context, and the right one as occurrence.
Semigroup QωOriginDefined in Agda-2.8.0.2 · Agda.Syntax.CommonRight-biased composition, because the left quantity acts as context, and the right one as occurrence.
Semigroup AspectDefined in Agda-2.8.0.2 · Agda.Syntax.Common.AspectNameKindinNamecan get more precise.Semigroup AspectsDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.Precise · orphanSemigroup DefinitionSiteDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.Precise · orphanSemigroup NameKindDefined in Agda-2.8.0.2 · Agda.Syntax.Common.AspectSome NameKinds are more informative than others.
Semigroup TokenBasedDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.Precise · orphanSemigroup MutualChecksDefined in Agda-2.8.0.2 · Agda.Syntax.Concrete.Definitions.TypesSemigroup DeclaredNamesDefined in Agda-2.8.0.2 · Agda.Syntax.Concrete.FixitySemigroup PatInfoDefined in Agda-2.8.0.2 · Agda.Syntax.InfoSemigroup NameMapEntryDefined in Agda-2.8.0.2 · Agda.Syntax.Scope.BaseInvariant: the KindOfName components should be equal whenever we have to concrete renderings of an abstract name.
Semigroup CallPathDefined in Agda-2.8.0.2 · Agda.Termination.MonadSemigroup ErrorNonEmptyDefined in Agda-2.8.0.2 · Agda.TypeChecking.EmptySemigroup ForcedVariableCollectionDefined in Agda-2.8.0.2 · Agda.TypeChecking.ForcingSemigroup SingleFlexRigDefined in Agda-2.8.0.2 · Agda.TypeChecking.FreeSemigroup SingleVarOccDefined in Agda-2.8.0.2 · Agda.TypeChecking.FreeSemigroup VarCountsDefined in Agda-2.8.0.2 · Agda.TypeChecking.FreeSemigroup FlexRigMapDefined in Agda-2.8.0.2 · Agda.TypeChecking.Free.LazySemigroup MetaSetDefined in Agda-2.8.0.2 · Agda.TypeChecking.Free.LazySemigroup InstanceTableDefined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.BaseSemigroup SimplificationDefined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.BaseSemigroup OnlyLazyDefined in Agda-2.8.0.2 · Agda.TypeChecking.Patterns.MatchSemigroup OccurrencesBuilderDefined in Agda-2.8.0.2 · Agda.TypeChecking.PositivityThe semigroup laws only hold up to flattening of Concat.
Semigroup ClausesPostChecksDefined in Agda-2.8.0.2 · Agda.TypeChecking.Rules.DefSemigroup FlexChoiceDefined in Agda-2.8.0.2 · Agda.TypeChecking.Rules.LHS.ProblemSemigroup LeftoverPatternsDefined in Agda-2.8.0.2 · Agda.TypeChecking.Rules.LHS.ProblemSemigroup UnifyOutputDefined in Agda-2.8.0.2 · Agda.TypeChecking.Rules.LHS.Unify.TypesSemigroup IntSetDefined in Agda-2.8.0.2 · Agda.Utils.IntSet.InfiniteSemigroup MaxNatDefined in Agda-2.8.0.2 · Agda.Utils.MonoidSemigroup PartialOrderingDefined in Agda-2.8.0.2 · Agda.Utils.PartialOrdPartial ordering forms a monoid under sequencing.
Semigroup CharStringDefined in ListLike-4.7.8.4 · Data.ListLike.CharStringSemigroup CharStringLazyDefined in ListLike-4.7.8.4 · Data.ListLike.CharStringSemigroup CharsDefined in ListLike-4.7.8.4 · Data.ListLike.CharsSemigroup EveryDefined in QuickCheck-2.19.0.0 · Test.QuickCheck.MonoidsSemigroup SomeDefined in QuickCheck-2.19.0.0 · Test.QuickCheck.MonoidsSemigroup SeriesDefined in aeson-2.3.2.0 · Data.Aeson.Encoding.InternalSemigroup KeyDefined in aeson-2.3.2.0 · Data.Aeson.KeySemigroup ByteArrayDefined in base-4.22.0.0 · Data.Array.ByteSemigroup PokeDefined in blaze-builder-0.4.4.1 · Blaze.ByteString.Builder.Internal.WriteSemigroup WriteDefined in blaze-builder-0.4.4.1 · Blaze.ByteString.Builder.Internal.WriteSemigroup AttributeDefined in blaze-markup-0.8.3.0 · Text.Blaze.InternalSemigroup AttributeValueDefined in blaze-markup-0.8.3.0 · Text.Blaze.InternalSemigroup ChoiceStringDefined in blaze-markup-0.8.3.0 · Text.Blaze.InternalSemigroup BuilderDefined in bytestring-0.12.2.0 · Data.ByteString.Builder.InternalSemigroup ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Internal.TypeSemigroup ByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Lazy.InternalSemigroup ShortByteStringDefined in bytestring-0.12.2.0 · Data.ByteString.Short.InternalSemigroup IntSetDefined in containers-0.8 · Data.IntSet.Internal(<>)= unionSemigroup IntersectionDefined in containers-0.8 · Data.IntSet.InternalSemigroup UnitDefined in deepseq-1.5.1.0 · Control.DeepSeqSemigroup VoidDefined in ghc-internal-9.1401.0 · GHC.Internal.BaseSemigroup AllDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.Semigroup.InternalSemigroup AnyDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.Semigroup.InternalSemigroup EventDefined in ghc-internal-9.1401.0 · GHC.Internal.Event.Internal.TypesSemigroup EventLifetimeDefined in ghc-internal-9.1401.0 · GHC.Internal.Event.Internal.TypesSemigroup LifetimeDefined in ghc-internal-9.1401.0 · GHC.Internal.Event.Internal.TypesSemigroup ExceptionContextDefined in ghc-internal-9.1401.0 · GHC.Internal.Exception.ContextSemigroup ExitCodeDefined in process-extras-0.7.4 · System.Process.Common · orphanSemigroup OrderingDefined in ghc-internal-9.1401.0 · GHC.Internal.BaseSemigroup NEIntSetDefined in nonempty-containers-0.3.6.0 · Data.IntSet.NonEmpty.InternalLeft-biased union
Semigroup OsStringDefined in os-string-2.0.8 · System.OsString.Internal.TypesSemigroup PosixStringDefined in os-string-2.0.8 · System.OsString.Internal.TypesSemigroup WindowsStringDefined in os-string-2.0.8 · System.OsString.Internal.TypesSemigroup DocDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJSemigroup SetTestInfoDefined in regex-tdfa-1.3.2.6 · Text.Regex.TDFA.CorePatternSemigroup TermOutputDefined in terminfo-0.4.1.7 · System.Console.Terminfo.BaseSemigroup TextDefined in text-2.1.3 · Data.Text · orphanBeware:
stimeswill crash if the given number does not fit into anInt.Semigroup BuilderDefined in text-2.1.3 · Data.Text.Internal.BuilderSemigroup TextDefined in text-2.1.3 · Data.Text.Lazy · orphanSemigroup StrictTextBuilderDefined in text-2.1.3 · Data.Text.Internal.StrictBuilderConcatenation 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.
Semigroup ShortTextDefined in text-short-0.1.6.1 · Data.Text.Short.InternalSemigroup CalendarDiffDaysDefined in time-1.15 · Data.Time.Calendar.CalendarDiffDaysAdditive
Semigroup CalendarDiffTimeDefined in time-1.15 · Data.Time.LocalTime.Internal.CalendarDiffTimeAdditive
Semigroup StatxFlagsDefined in unix-2.8.8.0 · System.Posix.Files.CommonORs the flags.
Semigroup StatxMaskDefined in unix-2.8.8.0 · System.Posix.Files.CommonORs the masks.
Semigroup ()Defined in ghc-internal-9.1401.0 · GHC.Internal.BaseMonadFixityError m => Semigroup (MonadicFixPol m)Defined in Agda-2.8.0.2 · Agda.Syntax.Concrete.FixityPartialOrd a => Semigroup (Favorites a)Defined in Agda-2.8.0.2 · Agda.Utils.FavoritesSmallSetElement a => Semigroup (SmallSet a)Defined in Agda-2.8.0.2 · Agda.Utils.SmallSetMonad m => Semigroup (LeastPolarity m)Defined in Agda-2.8.0.2 · Agda.TypeChecking.PolarityMonoid a => Semigroup (MarkupM a)Defined in blaze-markup-0.8.3.0 · Text.Blaze.InternalMonoid m => Semigroup (WrappedMonoid m)Defined in base-4.22.0.0 · Data.SemigroupSemigroup (DelayedMerge hl)Defined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.PreciseSemigroup (UnderAddition Cohesion)Defined in Agda-2.8.0.2 · Agda.Syntax.CommonCohesion forms a semigroup under addition.
Semigroup (UnderAddition Modality)Defined in Agda-2.8.0.2 · Agda.Syntax.CommonPointwise addition.
Semigroup (UnderAddition PolarityModality)Defined in Agda-2.8.0.2 · Agda.Syntax.CommonModalPolarity forms a semigroup under addition.
Semigroup (UnderAddition Quantity)Defined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup (UnderAddition Relevance)Defined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup (UnderComposition Cohesion)Defined in Agda-2.8.0.2 · Agda.Syntax.CommonCohesion forms a semigroup under composition.
Semigroup (UnderComposition Erased)Defined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup (UnderComposition Modality)Defined in Agda-2.8.0.2 · Agda.Syntax.CommonPointwise composition.
Semigroup (UnderComposition PolarityModality)Defined in Agda-2.8.0.2 · Agda.Syntax.CommonModalPolarity forms a semigroup under composition.
Semigroup (UnderComposition Quantity)Defined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup (UnderComposition Relevance)Defined in Agda-2.8.0.2 · Agda.Syntax.CommonRelevance forms a semigroup under composition.
Semigroup (NotBlocked' t)Defined in Agda-2.8.0.2 · Agda.Syntax.Internal.BlockersReallyNotBlocked is the unit. MissingClauses is dominant.
StuckOn{}should be propagated, if tied, we take the left.Semigroup (CallGraph cinfo)Defined in Agda-2.8.0.2 · Agda.Termination.CallGraphSemigroup (CMSet cinfo)Defined in Agda-2.8.0.2 · Agda.Termination.CallMatrixSemigroup (TCM Doc)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Pretty · orphanThis instance is more specific than a generic instance
Semigroup a => Semigroup (TCM a).Semigroup (Match a)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Patterns.MatchSemigroup (KeyMap v)Defined in aeson-2.3.2.0 · Data.Aeson.KeyMapSemigroup (IResult a)Defined in aeson-2.3.2.0 · Data.Aeson.Types.InternalSemigroup (Parser a)Defined in aeson-2.3.2.0 · Data.Aeson.Types.InternalSemigroup (Result a)Defined in aeson-2.3.2.0 · Data.Aeson.Types.InternalSemigroup (FromMaybe b)Defined in base-4.22.0.0 · Data.Foldable1Semigroup (NonEmptyDList a)Defined in base-4.22.0.0 · Data.Foldable1Semigroup (Comparison a)Defined in base-4.22.0.0 · Data.Functor.ContravariantSemigroup (Equivalence a)Defined in base-4.22.0.0 · Data.Functor.ContravariantSemigroup (Predicate a)Defined in base-4.22.0.0 · Data.Functor.ContravariantSemigroup (First a)Defined in base-4.22.0.0 · Data.SemigroupSemigroup (Last a)Defined in base-4.22.0.0 · Data.SemigroupSemigroup (PutM ())Defined in binary-0.8.9.3 · Data.Binary.PutSemigroup (IntMap a)Defined in containers-0.8 · Data.IntMap.Internal(<>)= unionSemigroup (Seq a)Defined in containers-0.8 · Data.Sequence.Internal(<>)=(><)Semigroup (MergeSet a)Defined in containers-0.8 · Data.Set.InternalSemigroup (EqM a)Defined in containers-0.8 · Utils.Containers.Internal.EqOrdUtilComposes left-to-right, short-circuits on False
Semigroup (OrdM a)Defined in containers-0.8 · Utils.Containers.Internal.EqOrdUtilComposes left-to-right, short-circuits on non-EQ
Semigroup (DNonEmpty a)Defined in dlist-1.0 · Data.DList.DNonEmpty.InternalSemigroup (DList a)Defined in dlist-1.0 · Data.DList.InternalSemigroup (EnumSet k)Defined in enummapset-0.7.3.0 · Data.EnumSetSemigroup (FMList a)Defined in fmlist-0.9.5 · Data.FMListSemigroup (ViewL a)Defined in fmlist-0.9.5 · Data.FMListSemigroup (ViewR a)Defined in fmlist-0.9.5 · Data.FMListSemigroup (NonEmpty a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.NonEmpty · orphanSemigroup (First a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.MonoidSemigroup (Last a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.MonoidSemigroup (Endo a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Semigroup.InternalSemigroup (FromMaybe b)Defined in indexed-traversable-0.1.5 · WithIndexSemigroup (NEIntMap a)Defined in nonempty-containers-0.3.6.0 · Data.IntMap.NonEmpty.InternalLeft-biased union
Semigroup (NESeq a)Defined in nonempty-containers-0.3.6.0 · Data.Sequence.NonEmpty.InternalSemigroup (MergeNESet a)Defined in nonempty-containers-0.3.6.0 · Data.Set.NonEmpty.InternalSemigroup (NonEmptyVector a)Defined in nonempty-vector-0.2.4 · Data.Vector.NonEmpty.InternalSemigroup (Doc a)Defined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJSemigroup (Array a)Defined in primitive-0.9.1.0 · Data.Primitive.ArraySemigroup (PrimArray a)Defined in primitive-0.9.1.0 · Data.Primitive.PrimArraySemigroup (SmallArray a)Defined in primitive-0.9.1.0 · Data.Primitive.SmallArraySemigroup (CharMap a)Defined in regex-tdfa-1.3.2.6 · Data.IntMap.CharMap2Semigroup (EnumSet e)Defined in regex-tdfa-1.3.2.6 · Data.IntSet.EnumSet2Semigroup (Validity k)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal.DebugSemigroup (UTF8 ByteString)Defined in ListLike-4.7.8.4 · Data.ListLike.UTF8 · orphanSemigroup (UTF8 ByteString)Defined in ListLike-4.7.8.4 · Data.ListLike.UTF8 · orphanSemigroup (Vector a)Defined in vector-0.13.2.0 · Data.VectorSemigroup (Vector a)Defined in vector-0.13.2.0 · Data.Vector.StrictSemigroup [a]Defined in ghc-internal-9.1401.0 · GHC.Internal.BaseSemigroup a => Semigroup (VarMap' a)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Free.LazyProper monoid instance for
VarMaprather than inheriting the broken one from IntMap. We combine two occurrences of a variable using mappend.Semigroup a => Semigroup (VarOcc' a)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Free.LazyThe default way of aggregating free variable info from subterms is by adding the variable occurrences. For instance, if we have a pair
(t₁,t₂)then andt₁haso₁the occurrences of a variablexandt₂haso₂the occurrences of the same variable, then(t₁,t₂)hasmappend o₁ o₂occurrences of that variable.From counting Quantity, we extrapolate this to FlexRig and Relevance: we care most about about StronglyRigid Relevant occurrences. E.g., if
t₁has a StronglyRigid occurrence andt₂a Flexible occurrence, then(t₁,t₂)still has a StronglyRigid occurrence. Analogously,Relevantoccurrences count most, as we wish e.g. to forbid relevant occurrences of variables that are declared to be irrelevant.VarOcc forms a semiring, and this monoid is the addition of the semiring.
Semigroup a => Semigroup (RangeMap a)Defined in Agda-2.8.0.2 · Agda.Utils.RangeMapMerges RangeMaps by inserting every "piece" of the smaller one into the larger one.
Semigroup a => Semigroup (Concurrently a)Defined in async-2.2.6 · Control.Concurrent.Async.InternalOnly defined by
asyncforbase >= 4.9Semigroup a => Semigroup (JoinWith a)Defined in base-4.22.0.0 · Data.Foldable1Semigroup a => Semigroup (STM a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Conc.SyncSemigroup a => Semigroup (Identity a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Functor.IdentitySemigroup a => Semigroup (Down a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.OrdSemigroup a => Semigroup (Dual a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Semigroup.InternalSemigroup a => Semigroup (Maybe a)Defined in ghc-internal-9.1401.0 · GHC.Internal.BaseSemigroup a => Semigroup (Q a)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.SyntaxSemigroup a => Semigroup (IO a)Defined in ghc-internal-9.1401.0 · GHC.Internal.BaseSemigroup a => Semigroup (JoinWith a)Defined in semigroupoids-6.0.2 · Data.Semigroup.FoldableSemigroup a => Semigroup (Maybe a)Defined in strict-0.5.1 · Data.Strict.MaybeSemigroup a => Semigroup (a)Defined in ghc-internal-9.1401.0 · GHC.Internal.BaseSemigroup c => Semigroup (WithArity c)Defined in Agda-2.8.0.2 · Agda.TypeChecking.CompiledClauseSemigroup c => Semigroup (RelevantIn c)Defined in Agda-2.8.0.2 · Agda.TypeChecking.FreeSemigroup m => Semigroup (TerM m)Defined in Agda-2.8.0.2 · Agda.Termination.MonadSemigroup m => Semigroup (Case m)Defined in Agda-2.8.0.2 · Agda.TypeChecking.CompiledClauseSemigroup p => Semigroup (Par1 p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsSemigroup s => Semigroup (CI s)Defined in case-insensitive-1.2.1.0 · Data.CaseInsensitive.InternalBits a => Semigroup (And a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Semigroup (Ior a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Semigroup (Xor a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsFiniteBits a => Semigroup (Iff a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsThis constraint is arguably too strong. However, as some types (such as
Natural) have undefined complement, this is the only safe choice.Eq a => Semigroup (Range' a)Defined in Agda-2.8.0.2 · Agda.Syntax.PositionOrd a => Semigroup (QueryResult a)Defined in Agda-2.8.0.2 · Agda.TypeChecking.DiscrimTreeOrd a => Semigroup (DiscrimTree a)Defined in Agda-2.8.0.2 · Agda.TypeChecking.DiscrimTree.TypesOrd a => Semigroup (Bag a)Defined in Agda-2.8.0.2 · Agda.Utils.BagOrd a => Semigroup (Max a)Defined in base-4.22.0.0 · Data.SemigroupOrd a => Semigroup (Min a)Defined in base-4.22.0.0 · Data.SemigroupOrd a => Semigroup (Intersection a)Defined in containers-0.8 · Data.Set.InternalOrd a => Semigroup (Set a)Defined in containers-0.8 · Data.Set.Internal(<>)= unionOrd a => Semigroup (Max a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Functor.UtilsOrd a => Semigroup (Min a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Functor.UtilsOrd a => Semigroup (NESet a)Defined in nonempty-containers-0.3.6.0 · Data.Set.NonEmpty.InternalLeft-biased union
Ord a => Semigroup (MinQueue a)Defined in pqueue-1.7.0.0 · BinomialQueue.InternalsOrd a => Semigroup (MinQueue a)Defined in pqueue-1.7.0.0 · Data.PQueue.InternalsOrd a => Semigroup (MaxQueue a)Defined in pqueue-1.7.0.0 · Data.PQueue.MaxStorable a => Semigroup (Vector a)Defined in vector-0.13.2.0 · Data.Vector.StorableNum a => Semigroup (AlphaColour a)Defined in colour-2.3.7 · Data.Colour.InternalAlphaColour forms a monoid with over and transparent.
Num a => Semigroup (Colour a)Defined in colour-2.3.7 · Data.Colour.InternalNum a => Semigroup (TransferFunction a)Defined in colour-2.3.7 · Data.Colour.RGBSpaceNum a => Semigroup (Product a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Semigroup.InternalNum a => Semigroup (Sum a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Semigroup.InternalHashable a => Semigroup (HashSet a)Defined in unordered-containers-0.2.21 · Data.HashSet.InternalPrim a => Semigroup (Vector a)Defined in vector-0.13.2.0 · Data.Vector.PrimitiveUnbox a => Semigroup (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphan(AssertNoSum Semigroup a, Generic a, Semigroup (Rep a ())) => Semigroup (GenericProduct a)Defined in generic-data-1.1.0.2 · Generic.Data.Internal.Generically(Generic a, Semigroup (Rep a ())) => Semigroup (Generically a)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsMonad m => Semigroup (ListT m a)Defined in Agda-2.8.0.2 · Agda.Utils.ListTSemigroup (Using' n m)Defined in Agda-2.8.0.2 · Agda.Syntax.CommonSemigroup (EnumMap k a)Defined in enummapset-0.7.3.0 · Data.EnumMap.BaseSemigroup (Either a b)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.EitherSemigroup (Proxy s)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.ProxySemigroup (U1 p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsSemigroup (V1 p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsSemigroup (Either a b)Defined in strict-0.5.1 · Data.Strict.EitherSemigroup (r p) => Semigroup (Data r p)Defined in generic-data-1.1.0.2 · Generic.Data.Internal.DataSemigroup a => Semigroup (Blocked' t a)Defined in Agda-2.8.0.2 · Agda.Syntax.Internal.BlockersSemigroup a => Semigroup (ConcurrentlyE e a)Defined in async-2.2.6 · Control.Concurrent.Async.InternalEither the combination of the successful results, or the first failure.
Semigroup a => Semigroup (Op a b)Defined in base-4.22.0.0 · Data.Functor.ContravariantSemigroup a => Semigroup (ST s a)Defined in ghc-internal-9.1401.0 · GHC.Internal.STSemigroup b => Semigroup (a -> b)Defined in ghc-internal-9.1401.0 · GHC.Internal.BaseOrd k => Semigroup (Map k v)Defined in containers-0.8 · Data.Map.Internal(<>)= unionOrd k => Semigroup (NEMap k a)Defined in nonempty-containers-0.3.6.0 · Data.Map.NonEmpty.InternalLeft-biased union
Ord k => Semigroup (MinPQueue k a)Defined in pqueue-1.7.0.0 · Data.PQueue.Prio.InternalsOrd k => Semigroup (MaxPQueue k a)Defined in pqueue-1.7.0.0 · Data.PQueue.Prio.Max.InternalsOrd k => Semigroup (EnumMap k a)Defined in regex-tdfa-1.3.2.6 · Data.IntMap.EnumMap2Hashable k => Semigroup (HashMap k v)Defined in unordered-containers-0.2.21 · Data.HashMap.InternalAlt f => Semigroup (Alt_ f a)Defined in semigroupoids-6.0.2 · Data.Semigroup.FoldableApply f => Semigroup (Act f a)Defined in semigroupoids-6.0.2 · Data.Semigroup.BifoldableApply f => Semigroup (Act f a)Defined in semigroupoids-6.0.2 · Data.Semigroup.Foldable(HasRange n, HasRange m) => Semigroup (ImportDirective' n m)Defined in Agda-2.8.0.2 · Agda.Syntax.Common(Applicative f, Monoid m) => Semigroup (WrapApp f m)Defined in fmlist-0.9.5 · Data.FMList(Monad m, Semigroup (m Doc)) => Semigroup (AbsToConT m Doc)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete(Monad m, Semigroup a) => Semigroup (PureConversionT m a)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Conversion.Pure(Monad m, Semigroup doc) => Semigroup (MaybeT m doc)Defined in Agda-2.8.0.2 · Agda.Utils.Semigroup · orphan(Semigroup a, Semigroup b) => Semigroup (These a b)Defined in strict-0.5.1 · Data.Strict.These(Semigroup a, Semigroup b) => Semigroup (Pair a b)Defined in strict-0.5.1 · Data.Strict.Tuple(Semigroup a, Semigroup b) => Semigroup (These a b)Defined in these-1.2.1 · Data.These(Semigroup a, Semigroup b) => Semigroup (a, b)Defined in ghc-internal-9.1401.0 · GHC.Internal.Base(Ord k, Monoid v) => Semigroup (MonoidMap k v)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstract(MonadIO m, Semigroup a) => Semigroup (TCMT m a)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.Base(Integral i, Ix i) => Semigroup (Array i e)Defined in ListLike-4.7.8.4 · Data.ListLike.Instances · orphan(Zip f, Semigroup a) => Semigroup (Zippy f a)Defined in semialign-1.4 · Data.ZipAlternative f => Semigroup (Alt f a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Semigroup.InternalApplicative f => Semigroup (Traversed a f)Defined in indexed-traversable-0.1.5 · WithIndexMonad m => Semigroup (Sequenced a m)Defined in indexed-traversable-0.1.5 · WithIndexSemigroup (f p) => Semigroup (Rec1 f p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsSemigroup a => Semigroup (Const a b)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Functor.ConstSemigroup a => Semigroup (Tagged s a)Defined in tagged-0.8.11 · Data.TaggedSemigroup a => Semigroup (Constant a b)Defined in transformers-0.6.1.2 · Data.Functor.ConstantArrowPlus p => Semigroup (Tambara p a b)Defined in profunctors-5.6.3 · Data.Profunctor.Strong(Biapplicative bi, Semigroup a, Semigroup b) => Semigroup (Biap bi a b)Defined in bifunctors-5.6.3 · Data.Bifunctor.Biap(Applicative f, Semigroup a) => Semigroup (Ap f a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Monoid(Applicative m, Semigroup doc) => Semigroup (ReaderT s m doc)Defined in Agda-2.8.0.2 · Agda.Utils.Semigroup · orphan(Monad m, Semigroup doc) => Semigroup (ExceptT e m doc)Defined in Agda-2.8.0.2 · Agda.Utils.Semigroup · orphan(Monad m, Semigroup doc) => Semigroup (StateT s m doc)Defined in Agda-2.8.0.2 · Agda.Utils.Semigroup · orphan(Monad m, Semigroup doc, Monoid w) => Semigroup (WriterT w m doc)Defined in Agda-2.8.0.2 · Agda.Utils.Semigroup · orphan(Semigroup a, Semigroup b, Semigroup c) => Semigroup (a, b, c)Defined in ghc-internal-9.1401.0 · GHC.Internal.Base(Profunctor p, Arrow p, Semigroup b) => Semigroup (Closure p a b)Defined in profunctors-5.6.3 · Data.Profunctor.ClosedSemigroup a => Semigroup (ParsecT s u m a)Defined in parsec-3.1.18.0 · Text.Parsec.PrimThe Semigroup instance for ParsecT is used to append the result of several parsers, for example:
(many $ chara) <> (many $ charb)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 $ chara) >> (many $ charb) (many $ chara) *> (many $ charb)Semigroup c => Semigroup (K1 i c p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsSemigroup r => Semigroup (Forget r a b)Defined in profunctors-5.6.3 · Data.Profunctor.TypesVia
Semigroup r => (a -> r)(Semigroup (f a), Semigroup (g a)) => Semigroup (Product f g a)Defined in base-4.22.0.0 · Data.Functor.Product(Semigroup (f p), Semigroup (g p)) => Semigroup ((:*:) f g p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics(Semigroup a, Semigroup b, Semigroup c, Semigroup d) => Semigroup (a, b, c, d)Defined in ghc-internal-9.1401.0 · GHC.Internal.BaseSemigroup (f (g a)) => Semigroup (Compose f g a)Defined in base-4.22.0.0 · Data.Functor.ComposeSemigroup (f (g p)) => Semigroup ((:.:) f g p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsSemigroup (f p) => Semigroup (M1 i c f p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e) => Semigroup (a, b, c, d, e)Defined in ghc-internal-9.1401.0 · GHC.Internal.Base