Data.Semigroup (original) (raw)
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup.Internal
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup.Internal
Since: base-4.9.0.0
Instance details
Defined in Data.Void
Since: base-4.10.0.0
Instance details
Defined in GHC.Event.Internal.Types
Since: base-4.10.0.0
Instance details
Defined in GHC.Event.Internal.Types
Since: base-4.9.0.0
Instance details
Defined in GHC.Base
Since: base-4.9.0.0
Instance details
Defined in GHC.Base
Bits a => Semigroup (And a) Source #
Since: base-4.16
Instance details
Defined in Data.Bits
FiniteBits a => Semigroup (Iff a) Source #
This constraint is arguably too strong. However, as some types (such as Natural) have undefined[complement](GHC-Bits.html#v:complement "GHC.Bits"), this is the only safe choice.
Since: base-4.16
Instance details
Defined in Data.Bits
Bits a => Semigroup (Ior a) Source #
Since: base-4.16
Instance details
Defined in Data.Bits
Bits a => Semigroup (Xor a) Source #
Since: base-4.16
Instance details
Defined in Data.Bits
Semigroup (Comparison a) Source #
(`[<>](Data-Semigroup.html#v:-60--62- "Data.Semigroup")`) on comparisons combines results with (`[<>](Data-Semigroup.html#v:-60--62- "Data.Semigroup")`) @Ordering. Without newtypes this equals `[liftA2](Control-Applicative.html#v:liftA2 "Control.Applicative")` (`[liftA2](Control-Applicative.html#v:liftA2 "Control.Applicative")` (`[<>](Data-Semigroup.html#v:-60--62- "Data.Semigroup")`)).
(<>) :: 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 #
(`[<>](Data-Semigroup.html#v:-60--62- "Data.Semigroup")`) on equivalences uses logical conjunction (`[&&](Data-Bool.html#v:-38--38- "Data.Bool")`) on the results. Without newtypes this equals `[liftA2](Control-Applicative.html#v:liftA2 "Control.Applicative")` (`[liftA2](Control-Applicative.html#v:liftA2 "Control.Applicative")` (&&)).
(<>) :: 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 #
(`[<>](Data-Semigroup.html#v:-60--62- "Data.Semigroup")`) on predicates uses logical conjunction (`[&&](Data-Bool.html#v:-38--38- "Data.Bool")`) on the results. Without newtypes this equals `[liftA2](Control-Applicative.html#v:liftA2 "Control.Applicative")` (&&).
(<>) :: Predicate a -> Predicate a -> Predicate a Predicate pred <> Predicate pred' = Predicate a -> pred a && pred' a
Instance details
Defined in Data.Functor.Contravariant
Semigroup a => Semigroup (Identity a) Source #
Since: base-4.9.0.0
Instance details
Defined in Data.Functor.Identity
Since: base-4.9.0.0
Instance details
Defined in Data.Monoid
Since: base-4.9.0.0
Instance details
Defined in Data.Monoid
Semigroup a => Semigroup (Down a) Source #
Since: base-4.11.0.0
Instance details
Defined in Data.Ord
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup
Ord a => Semigroup (Max a) Source #
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup
Ord a => Semigroup (Min a) Source #
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup
Monoid m => Semigroup (WrappedMonoid m) Source #
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup
Semigroup a => Semigroup (Dual a) Source #
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup.Internal
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup.Internal
Num a => Semigroup (Product a) Source #
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup.Internal
Num a => Semigroup (Sum a) Source #
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup.Internal
Semigroup p => Semigroup (Par1 p) Source #
Since: base-4.12.0.0
Instance details
Defined in GHC.Generics
Semigroup a => Semigroup (IO a) Source #
Since: base-4.10.0.0
Instance details
Defined in GHC.Base
Semigroup (NonEmpty a) Source #
Since: base-4.9.0.0
Instance details
Defined in GHC.Base
Semigroup a => Semigroup (Maybe a) Source #
Since: base-4.9.0.0
Instance details
Defined in GHC.Base
Semigroup a => Semigroup (a) Source #
Since: base-4.15
Instance details
Defined in GHC.Base
Since: base-4.9.0.0
Instance details
Defined in GHC.Base
Semigroup (Either a b) Source #
Since: base-4.9.0.0
Instance details
Defined in Data.Either
Semigroup a => Semigroup (Op a b) Source #
(`[<>](Data-Semigroup.html#v:-60--62- "Data.Semigroup")`) @(Op a b) without newtypes is (`[<>](Data-Semigroup.html#v:-60--62- "Data.Semigroup")`) @(b->a) =liftA2 (`[<>](Data-Semigroup.html#v:-60--62- "Data.Semigroup")`). This lifts the [Semigroup](Data-Semigroup.html#t:Semigroup "Data.Semigroup") operation(`[<>](Data-Semigroup.html#v:-60--62- "Data.Semigroup")`) 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
Since: base-4.9.0.0
Instance details
Defined in Data.Proxy
Since: base-4.12.0.0
Instance details
Defined in GHC.Generics
Since: base-4.12.0.0
Instance details
Defined in GHC.Generics
Semigroup a => Semigroup (ST s a) Source #
Since: base-4.11.0.0
Instance details
Defined in GHC.ST
Semigroup b => Semigroup (a -> b) Source #
Since: base-4.9.0.0
Instance details
Defined in GHC.Base
(Semigroup a, Semigroup b) => Semigroup (a, b) Source #
Since: base-4.9.0.0
Instance details
Defined in GHC.Base
Semigroup a => Semigroup (Const a b) Source #
Since: base-4.9.0.0
Instance details
Defined in Data.Functor.Const
(Applicative f, Semigroup a) => Semigroup (Ap f a) Source #
Since: base-4.12.0.0
Instance details
Defined in Data.Monoid
Alternative f => Semigroup (Alt f a) Source #
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup.Internal
Semigroup (f p) => Semigroup (Rec1 f p) Source #
Since: base-4.12.0.0
Instance details
Defined in GHC.Generics
(Semigroup a, Semigroup b, Semigroup c) => Semigroup (a, b, c) Source #
Since: base-4.9.0.0
Instance details
Defined in GHC.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
(Semigroup (f p), Semigroup (g p)) => Semigroup ((f :*: g) p) Source #
Since: base-4.12.0.0
Instance details
Defined in GHC.Generics
Semigroup c => Semigroup (K1 i c p) Source #
Since: base-4.12.0.0
Instance details
Defined in GHC.Generics
(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.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
Semigroup (f (g p)) => Semigroup ((f :.: g) p) Source #
Since: base-4.12.0.0
Instance details
Defined in GHC.Generics
Semigroup (f p) => Semigroup (M1 i c f p) Source #
Since: base-4.12.0.0
Instance details
Defined in GHC.Generics
(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.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 #