| Safe Haskell | Safe | 
|---|---|
| Language | Haskell2010 | 
Basement.Compat.Semigroup
Synopsis
- class Semigroup a where
- type ListNonEmpty = NonEmpty
Documentation
The class of semigroups (types with an associative binary operation).
Instances should satisfy the associativity law:
Since: base-4.9.0.0
Minimal complete definition
Methods
(<>) :: a -> a -> a infixr 6 #
An associative operation.
Reduce a non-empty list with <>
The default definition should be sufficient, but this can be overridden for efficiency.
stimes :: Integral b => b -> a -> a #
Repeat a value n times.
Given that this works on a Semigroup it is allowed to fail if
 you request 0 or fewer repetitions, and the default definition
 will do so.
By making this a member of the class, idempotent semigroups
 and monoids can upgrade this to execute in O(1) by
 picking stimes =  or stimesIdempotentstimes =
  respectively.stimesIdempotentMonoid
Instances
| Semigroup Ordering | Since: base-4.9.0.0 | 
| Semigroup () | Since: base-4.9.0.0 | 
| Semigroup All | Since: base-4.9.0.0 | 
| Semigroup Any | Since: base-4.9.0.0 | 
| Semigroup AsciiString # | |
| Defined in Basement.Types.AsciiString Methods (<>) :: AsciiString -> AsciiString -> AsciiString # sconcat :: NonEmpty AsciiString -> AsciiString # stimes :: Integral b => b -> AsciiString -> AsciiString # | |
| Semigroup String # | |
| Semigroup Builder # | |
| Semigroup Builder # | |
| Semigroup [a] | Since: base-4.9.0.0 | 
| Semigroup a => Semigroup (Maybe a) | Since: base-4.9.0.0 | 
| Semigroup a => Semigroup (IO a) | Since: base-4.10.0.0 | 
| Ord a => Semigroup (Min a) | Since: base-4.9.0.0 | 
| Ord a => Semigroup (Max a) | Since: base-4.9.0.0 | 
| Semigroup (First a) | Since: base-4.9.0.0 | 
| Semigroup (Last a) | Since: base-4.9.0.0 | 
| Monoid m => Semigroup (WrappedMonoid m) | Since: base-4.9.0.0 | 
| Defined in Data.Semigroup Methods (<>) :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # sconcat :: NonEmpty (WrappedMonoid m) -> WrappedMonoid m # stimes :: Integral b => b -> WrappedMonoid m -> WrappedMonoid m # | |
| Semigroup a => Semigroup (Option a) | Since: base-4.9.0.0 | 
| Semigroup a => Semigroup (Identity a) | |
| Semigroup (First a) | Since: base-4.9.0.0 | 
| Semigroup (Last a) | Since: base-4.9.0.0 | 
| Semigroup a => Semigroup (Dual a) | Since: base-4.9.0.0 | 
| Semigroup (Endo a) | Since: base-4.9.0.0 | 
| Num a => Semigroup (Sum a) | Since: base-4.9.0.0 | 
| Num a => Semigroup (Product a) | Since: base-4.9.0.0 | 
| Semigroup a => Semigroup (Down a) | Since: base-4.11.0.0 | 
| Semigroup (NonEmpty a) | Since: base-4.9.0.0 | 
| Semigroup (CountOf ty) # | |
| PrimType ty => Semigroup (Block ty) # | |
| PrimType ty => Semigroup (UArray ty) # | |
| Semigroup (Array a) # | |
| Semigroup b => Semigroup (a -> b) | Since: base-4.9.0.0 | 
| Semigroup (Either a b) | Since: base-4.9.0.0 | 
| (Semigroup a, Semigroup b) => Semigroup (a, b) | Since: base-4.9.0.0 | 
| Semigroup (Proxy s) | Since: base-4.9.0.0 | 
| Semigroup a => Semigroup (ST s a) | Since: base-4.11.0.0 | 
| (Semigroup a, Semigroup b, Semigroup c) => Semigroup (a, b, c) | Since: base-4.9.0.0 | 
| Semigroup a => Semigroup (Const a b) | |
| Alternative f => Semigroup (Alt f a) | Since: base-4.9.0.0 | 
| (Semigroup a, Semigroup b, Semigroup c, Semigroup d) => Semigroup (a, b, c, d) | Since: base-4.9.0.0 | 
| (Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e) => Semigroup (a, b, c, d, e) | Since: base-4.9.0.0 | 
type ListNonEmpty = NonEmpty Source #
