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!
Instances241Semigroup, …
Semigroup DocDefined in Agda-2.7.0.1 · Agda.Compiler.JS.PrettySemigroup CommentDefined in Agda-2.7.0.1 · Agda.Compiler.JS.SyntaxSemigroup UsesFloatDefined in Agda-2.7.0.1 · Agda.Compiler.MAlonzo.CompilerSemigroup HsCompileStateDefined in Agda-2.7.0.1 · Agda.Compiler.MAlonzo.MiscSemigroup IdentityInDefined in Agda-2.7.0.1 · Agda.Compiler.Treeless.IdentitySemigroup OccursDefined in Agda-2.7.0.1 · Agda.Compiler.Treeless.SubstSemigroup SeqArgDefined in Agda-2.7.0.1 · Agda.Compiler.Treeless.SubstSemigroup UnderLambdaDefined in Agda-2.7.0.1 · Agda.Compiler.Treeless.SubstSemigroup NameKindBuilderDefined in Agda-2.7.0.1 · Agda.Interaction.Highlighting.GenerateSemigroup PositionMapDefined in Agda-2.7.0.1 · Agda.Interaction.Highlighting.PreciseSemigroup OptionsPragmaDefined in Agda-2.7.0.1 · Agda.Interaction.Library.BaseSemigroup BoundAndUsedNamesDefined in Agda-2.7.0.1 · Agda.Syntax.Abstract.UsedNamesBound names in first argument scope over second argument.
Semigroup CoverageCheckDefined in Agda-2.7.0.1 · Agda.Syntax.CommonSemigroup ExpandedEllipsisDefined in Agda-2.7.0.1 · Agda.Syntax.CommonSemigroup FreeVariablesDefined in Agda-2.7.0.1 · Agda.Syntax.CommonSemigroup HidingDefined in Agda-2.7.0.1 · Agda.Syntax.CommonSemigroup IsAbstractDefined in Agda-2.7.0.1 · Agda.Syntax.CommonSemigroup computes if any of several is an AbstractDef.
Semigroup IsMainDefined in Agda-2.7.0.1 · Agda.Syntax.CommonConjunctive semigroup (NotMain is absorbing).
Semigroup JointOpacityDefined in Agda-2.7.0.1 · Agda.Syntax.CommonSemigroup OverlappableDefined in Agda-2.7.0.1 · Agda.Syntax.CommonJust for the Hiding instance. Should never combine different overlapping.
Semigroup PositivityCheckDefined in Agda-2.7.0.1 · Agda.Syntax.CommonSemigroup Q0OriginDefined in Agda-2.7.0.1 · Agda.Syntax.CommonRight-biased composition, because the left quantity acts as context, and the right one as occurrence.
Semigroup Q1OriginDefined in Agda-2.7.0.1 · Agda.Syntax.CommonRight-biased composition, because the left quantity acts as context, and the right one as occurrence.
Semigroup QωOriginDefined in Agda-2.7.0.1 · Agda.Syntax.CommonRight-biased composition, because the left quantity acts as context, and the right one as occurrence.
Semigroup AspectDefined in Agda-2.7.0.1 · Agda.Syntax.Common.AspectNameKindinNamecan get more precise.Semigroup AspectsDefined in Agda-2.7.0.1 · Agda.Interaction.Highlighting.Precise · orphanSemigroup DefinitionSiteDefined in Agda-2.7.0.1 · Agda.Interaction.Highlighting.Precise · orphanSemigroup NameKindDefined in Agda-2.7.0.1 · Agda.Syntax.Common.AspectSome NameKinds are more informative than others.
Semigroup TokenBasedDefined in Agda-2.7.0.1 · Agda.Interaction.Highlighting.Precise · orphanSemigroup MutualChecksDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.Definitions.TypesSemigroup DeclaredNamesDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.FixitySemigroup PatInfoDefined in Agda-2.7.0.1 · Agda.Syntax.InfoSemigroup NameMapEntryDefined in Agda-2.7.0.1 · 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.7.0.1 · Agda.Termination.MonadSemigroup ErrorNonEmptyDefined in Agda-2.7.0.1 · Agda.TypeChecking.EmptySemigroup ForcedVariableCollectionDefined in Agda-2.7.0.1 · Agda.TypeChecking.ForcingSemigroup SingleFlexRigDefined in Agda-2.7.0.1 · Agda.TypeChecking.FreeSemigroup SingleVarOccDefined in Agda-2.7.0.1 · Agda.TypeChecking.FreeSemigroup VarCountsDefined in Agda-2.7.0.1 · Agda.TypeChecking.FreeSemigroup FlexRigMapDefined in Agda-2.7.0.1 · Agda.TypeChecking.Free.LazySemigroup MetaSetDefined in Agda-2.7.0.1 · Agda.TypeChecking.Free.LazySemigroup InstanceTableDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSemigroup SimplificationDefined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.BaseSemigroup OnlyLazyDefined in Agda-2.7.0.1 · Agda.TypeChecking.Patterns.MatchSemigroup OccurrencesBuilderDefined in Agda-2.7.0.1 · Agda.TypeChecking.PositivityThe semigroup laws only hold up to flattening of Concat.
Semigroup ClausesPostChecksDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rules.DefSemigroup FlexChoiceDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rules.LHS.ProblemSemigroup LeftoverPatternsDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rules.LHS.ProblemSemigroup UnifyOutputDefined in Agda-2.7.0.1 · Agda.TypeChecking.Rules.LHS.Unify.TypesSemigroup IntSetDefined in Agda-2.7.0.1 · Agda.Utils.IntSet.InfiniteSemigroup MaxNatDefined in Agda-2.7.0.1 · Agda.Utils.MonoidSemigroup PartialOrderingDefined in Agda-2.7.0.1 · Agda.Utils.PartialOrdPartial ordering forms a monoid under sequencing.
Semigroup SeriesDefined in aeson-2.2.3.0 · Data.Aeson.Encoding.InternalSemigroup KeyDefined in aeson-2.2.3.0 · Data.Aeson.KeySemigroup ByteArrayDefined in base-4.20.2.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.7 · Data.IntSet.InternalSemigroup VoidDefined in ghc-internal-9.1003.0 · GHC.Internal.BaseSemigroup AllDefined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.InternalSemigroup AnyDefined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.InternalSemigroup EventDefined in ghc-internal-9.1003.0 · GHC.Internal.Event.Internal.TypesSemigroup EventLifetimeDefined in ghc-internal-9.1003.0 · GHC.Internal.Event.Internal.TypesSemigroup LifetimeDefined in ghc-internal-9.1003.0 · GHC.Internal.Event.Internal.TypesSemigroup ExceptionContextDefined in ghc-internal-9.1003.0 · GHC.Internal.Exception.ContextSemigroup OrderingDefined in ghc-internal-9.1003.0 · GHC.Internal.BaseSemigroup OsStringDefined in os-string-2.0.7 · System.OsString.Internal.TypesSemigroup PosixStringDefined in os-string-2.0.7 · System.OsString.Internal.TypesSemigroup WindowsStringDefined in os-string-2.0.7 · System.OsString.Internal.TypesSemigroup DocDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJSemigroup SetTestInfoDefined in regex-tdfa-1.3.2.5 · 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 · Data.Text.Short.InternalSemigroup CalendarDiffDaysDefined in time-1.12.2 · Data.Time.Calendar.CalendarDiffDaysAdditive
Semigroup CalendarDiffTimeDefined in time-1.12.2 · Data.Time.LocalTime.Internal.CalendarDiffTimeAdditive
Semigroup StatxFlagsDefined in unix-2.8.7.0 · System.Posix.Files.CommonORs the flags.
Semigroup StatxMaskDefined in unix-2.8.7.0 · System.Posix.Files.CommonORs the masks.
Semigroup ()Defined in ghc-internal-9.1003.0 · GHC.Internal.BaseMonadFixityError m => Semigroup (MonadicFixPol m)Defined in Agda-2.7.0.1 · Agda.Syntax.Concrete.FixityPartialOrd a => Semigroup (Favorites a)Defined in Agda-2.7.0.1 · Agda.Utils.FavoritesSmallSetElement a => Semigroup (SmallSet a)Defined in Agda-2.7.0.1 · Agda.Utils.SmallSetMonad m => Semigroup (LeastPolarity m)Defined in Agda-2.7.0.1 · 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.20.2.0 · Data.SemigroupSemigroup (DelayedMerge hl)Defined in Agda-2.7.0.1 · Agda.Interaction.Highlighting.PreciseSemigroup (UnderAddition Cohesion)Defined in Agda-2.7.0.1 · Agda.Syntax.CommonCohesion forms a semigroup under addition.
Semigroup (UnderAddition Modality)Defined in Agda-2.7.0.1 · Agda.Syntax.CommonPointwise addition.
Semigroup (UnderAddition Quantity)Defined in Agda-2.7.0.1 · Agda.Syntax.CommonSemigroup (UnderAddition Relevance)Defined in Agda-2.7.0.1 · Agda.Syntax.CommonSemigroup (UnderComposition Cohesion)Defined in Agda-2.7.0.1 · Agda.Syntax.CommonCohesion forms a semigroup under composition.
Semigroup (UnderComposition Erased)Defined in Agda-2.7.0.1 · Agda.Syntax.CommonSemigroup (UnderComposition Modality)Defined in Agda-2.7.0.1 · Agda.Syntax.CommonPointwise composition.
Semigroup (UnderComposition Quantity)Defined in Agda-2.7.0.1 · Agda.Syntax.CommonSemigroup (UnderComposition Relevance)Defined in Agda-2.7.0.1 · Agda.Syntax.CommonRelevance forms a semigroup under composition.
Semigroup (NotBlocked' t)Defined in Agda-2.7.0.1 · Agda.Syntax.Internal.BlockersReallyNotBlocked is the unit. MissingClauses is dominant.
StuckOn{}should be propagated, if tied, we take the left.Semigroup (AbsToCon Doc)Defined in Agda-2.7.0.1 · Agda.Syntax.Translation.AbstractToConcreteSemigroup (CallGraph cinfo)Defined in Agda-2.7.0.1 · Agda.Termination.CallGraphSemigroup (CMSet cinfo)Defined in Agda-2.7.0.1 · Agda.Termination.CallMatrixSemigroup (TCM Doc)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Pretty · orphanThis instance is more specific than a generic instance
Semigroup a => Semigroup (TCM a).Semigroup (Match a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Patterns.MatchSemigroup (KeyMap v)Defined in aeson-2.2.3.0 · Data.Aeson.KeyMapSemigroup (IResult a)Defined in aeson-2.2.3.0 · Data.Aeson.Types.InternalSemigroup (Parser a)Defined in aeson-2.2.3.0 · Data.Aeson.Types.InternalSemigroup (Result a)Defined in aeson-2.2.3.0 · Data.Aeson.Types.InternalSemigroup (FromMaybe b)Defined in base-4.20.2.0 · Data.Foldable1Semigroup (NonEmptyDList a)Defined in base-4.20.2.0 · Data.Foldable1Semigroup (Comparison a)Defined in base-4.20.2.0 · Data.Functor.ContravariantSemigroup (Equivalence a)Defined in base-4.20.2.0 · Data.Functor.ContravariantSemigroup (Predicate a)Defined in base-4.20.2.0 · Data.Functor.ContravariantSemigroup (First a)Defined in base-4.20.2.0 · Data.SemigroupSemigroup (Last a)Defined in base-4.20.2.0 · Data.SemigroupSemigroup (PutM ())Defined in binary-0.8.9.3 · Data.Binary.PutSemigroup (IntMap a)Defined in containers-0.7 · Data.IntMap.InternalSemigroup (Seq a)Defined in containers-0.7 · Data.Sequence.InternalSemigroup (MergeSet a)Defined in containers-0.7 · Data.Set.InternalSemigroup (DNonEmpty a)Defined in dlist-1.0 · Data.DList.DNonEmpty.InternalSemigroup (DList a)Defined in dlist-1.0 · Data.DList.InternalSemigroup (NonEmpty a)Defined in ghc-internal-9.1003.0 · GHC.Internal.BaseSemigroup (First a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.MonoidSemigroup (Last a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.MonoidSemigroup (Endo a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.InternalSemigroup (FromMaybe b)Defined in indexed-traversable-0.1.4 · WithIndexSemigroup (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.5 · Data.IntMap.CharMap2Semigroup (EnumSet e)Defined in regex-tdfa-1.3.2.5 · Data.IntSet.EnumSet2Semigroup (Validity k)Defined in unordered-containers-0.2.21 · Data.HashMap.Internal.DebugSemigroup (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.1003.0 · GHC.Internal.BaseSemigroup a => Semigroup (VarMap' a)Defined in Agda-2.7.0.1 · 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.7.0.1 · 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.7.0.1 · 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.5 · Control.Concurrent.Async.InternalOnly defined by
asyncforbase >= 4.9Semigroup a => Semigroup (JoinWith a)Defined in base-4.20.2.0 · Data.Foldable1Semigroup a => Semigroup (STM a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Conc.SyncSemigroup a => Semigroup (Identity a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Functor.IdentitySemigroup a => Semigroup (Down a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.OrdSemigroup a => Semigroup (Dual a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.InternalSemigroup a => Semigroup (Maybe a)Defined in ghc-internal-9.1003.0 · GHC.Internal.BaseSemigroup a => Semigroup (IO a)Defined in ghc-internal-9.1003.0 · GHC.Internal.BaseSemigroup a => Semigroup (JoinWith a)Defined in semigroupoids-6.0.1 · Data.Semigroup.FoldableSemigroup a => Semigroup (Maybe a)Defined in strict-0.5.1 · Data.Strict.MaybeSemigroup a => Semigroup (Q a)Defined in template-haskell-2.22.0.0 · Language.Haskell.TH.SyntaxSemigroup a => Semigroup (a)Defined in ghc-internal-9.1003.0 · GHC.Internal.BaseSemigroup c => Semigroup (WithArity c)Defined in Agda-2.7.0.1 · Agda.TypeChecking.CompiledClauseSemigroup c => Semigroup (RelevantIn c)Defined in Agda-2.7.0.1 · Agda.TypeChecking.FreeSemigroup m => Semigroup (TerM m)Defined in Agda-2.7.0.1 · Agda.Termination.MonadSemigroup m => Semigroup (Case m)Defined in Agda-2.7.0.1 · Agda.TypeChecking.CompiledClauseSemigroup p => Semigroup (Par1 p)Defined in ghc-internal-9.1003.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.1003.0 · GHC.Internal.Data.BitsBits a => Semigroup (Ior a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.BitsBits a => Semigroup (Xor a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.BitsFiniteBits a => Semigroup (Iff a)Defined in ghc-internal-9.1003.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.Storable a => Semigroup (Vector a)Defined in vector-0.13.2.0 · Data.Vector.StorableNum a => Semigroup (AlphaColour a)Defined in colour-2.3.6 · Data.Colour.InternalAlphaColour forms a monoid with over and transparent.
Num a => Semigroup (Colour a)Defined in colour-2.3.6 · Data.Colour.InternalNum a => Semigroup (TransferFunction a)Defined in colour-2.3.6 · Data.Colour.RGBSpaceNum a => Semigroup (Product a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.InternalNum a => Semigroup (Sum a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.InternalEq a => Semigroup (Range' a)Defined in Agda-2.7.0.1 · Agda.Syntax.PositionOrd a => Semigroup (QueryResult a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.DiscrimTreeOrd a => Semigroup (DiscrimTree a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.DiscrimTree.TypesOrd a => Semigroup (Bag a)Defined in Agda-2.7.0.1 · Agda.Utils.BagOrd a => Semigroup (Max a)Defined in base-4.20.2.0 · Data.SemigroupOrd a => Semigroup (Min a)Defined in base-4.20.2.0 · Data.SemigroupOrd a => Semigroup (Intersection a)Defined in containers-0.7 · Data.Set.InternalOrd a => Semigroup (Set a)Defined in containers-0.7 · Data.Set.InternalOrd a => Semigroup (Max a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Functor.UtilsOrd a => Semigroup (Min a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Functor.UtilsOrd a => Semigroup (MinQueue a)Defined in pqueue-1.5.0.0 · BinomialQueue.InternalsOrd a => Semigroup (MinQueue a)Defined in pqueue-1.5.0.0 · Data.PQueue.InternalsOrd a => Semigroup (MaxQueue a)Defined in pqueue-1.5.0.0 · Data.PQueue.MaxHashable 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(Generic a, Semigroup (Rep a ())) => Semigroup (Generically a)Defined in ghc-internal-9.1003.0 · GHC.Internal.GenericsMonad m => Semigroup (ListT m a)Defined in Agda-2.7.0.1 · Agda.Utils.ListTSemigroup (Using' n m)Defined in Agda-2.7.0.1 · Agda.Syntax.CommonSemigroup (Either a b)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.EitherSemigroup (Proxy s)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.ProxySemigroup (U1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.GenericsSemigroup (V1 p)Defined in ghc-internal-9.1003.0 · GHC.Internal.GenericsSemigroup (Either a b)Defined in strict-0.5.1 · Data.Strict.EitherSemigroup a => Semigroup (Blocked' t a)Defined in Agda-2.7.0.1 · Agda.Syntax.Internal.BlockersSemigroup a => Semigroup (ConcurrentlyE e a)Defined in async-2.2.5 · Control.Concurrent.Async.InternalEither the combination of the successful results, or the first failure.
Semigroup a => Semigroup (Op a b)Defined in base-4.20.2.0 · Data.Functor.ContravariantSemigroup a => Semigroup (ST s a)Defined in ghc-internal-9.1003.0 · GHC.Internal.STSemigroup b => Semigroup (a -> b)Defined in ghc-internal-9.1003.0 · GHC.Internal.BaseOrd k => Semigroup (Map k v)Defined in containers-0.7 · Data.Map.InternalOrd k => Semigroup (MinPQueue k a)Defined in pqueue-1.5.0.0 · Data.PQueue.Prio.InternalsOrd k => Semigroup (MaxPQueue k a)Defined in pqueue-1.5.0.0 · Data.PQueue.Prio.Max.InternalsOrd k => Semigroup (EnumMap k a)Defined in regex-tdfa-1.3.2.5 · 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.1 · Data.Semigroup.FoldableApply f => Semigroup (Act f a)Defined in semigroupoids-6.0.1 · Data.Semigroup.BifoldableApply f => Semigroup (Act f a)Defined in semigroupoids-6.0.1 · Data.Semigroup.Foldable(HasRange n, HasRange m) => Semigroup (ImportDirective' n m)Defined in Agda-2.7.0.1 · Agda.Syntax.Common(MonadIO m, Semigroup a) => Semigroup (TCMT m a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Monad.Base(Monad m, Semigroup a) => Semigroup (PureConversionT m a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Conversion.Pure(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.1003.0 · GHC.Internal.Base(Ord k, Monoid v) => Semigroup (MonoidMap k v)Defined in Agda-2.7.0.1 · Agda.Syntax.Translation.InternalToAbstract(Zip f, Semigroup a) => Semigroup (Zippy f a)Defined in semialign-1.3.1 · Data.ZipAlternative f => Semigroup (Alt f a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Semigroup.InternalApplicative f => Semigroup (Traversed a f)Defined in indexed-traversable-0.1.4 · WithIndexMonad m => Semigroup (Sequenced a m)Defined in indexed-traversable-0.1.4 · WithIndexSemigroup (f p) => Semigroup (Rec1 f p)Defined in ghc-internal-9.1003.0 · GHC.Internal.GenericsSemigroup a => Semigroup (Const a b)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Functor.ConstSemigroup a => Semigroup (Tagged s a)Defined in tagged-0.8.9 · Data.TaggedSemigroup a => Semigroup (Constant a b)Defined in transformers-0.6.1.1 · Data.Functor.Constant(Biapplicative bi, Semigroup a, Semigroup b) => Semigroup (Biap bi a b)Defined in bifunctors-5.6.2 · Data.Bifunctor.Biap(Applicative f, Semigroup a) => Semigroup (Ap f a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Monoid(Applicative m, Semigroup doc) => Semigroup (ReaderT s m doc)Defined in Agda-2.7.0.1 · Agda.Utils.Semigroup · orphan(Monad m, Semigroup doc) => Semigroup (StateT s m doc)Defined in Agda-2.7.0.1 · Agda.Utils.Semigroup · orphan(Semigroup a, Semigroup b, Semigroup c) => Semigroup (a, b, c)Defined in ghc-internal-9.1003.0 · GHC.Internal.BaseSemigroup 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.1003.0 · GHC.Internal.Generics(Semigroup (f a), Semigroup (g a)) => Semigroup (Product f g a)Defined in base-4.20.2.0 · Data.Functor.Product(Semigroup (f p), Semigroup (g p)) => Semigroup ((:*:) f g p)Defined in ghc-internal-9.1003.0 · GHC.Internal.Generics(Semigroup a, Semigroup b, Semigroup c, Semigroup d) => Semigroup (a, b, c, d)Defined in ghc-internal-9.1003.0 · GHC.Internal.BaseSemigroup (f (g a)) => Semigroup (Compose f g a)Defined in base-4.20.2.0 · Data.Functor.ComposeSemigroup (f (g p)) => Semigroup ((:.:) f g p)Defined in ghc-internal-9.1003.0 · GHC.Internal.GenericsSemigroup (f p) => Semigroup (M1 i c f p)Defined in ghc-internal-9.1003.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.1003.0 · GHC.Internal.Base