Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- class Semigroup a where
- (<>) :: Semigroup a => a -> a -> a
- sconcat :: Semigroup a => NonEmpty a -> a
- stimesMonoid :: (Integral b, Monoid a) => b -> a -> a
- stimesIdempotent :: Integral b => b -> a -> a
- stimesIdempotentMonoid :: (Integral b, Monoid a) => b -> a -> a
- mtimesDefault :: (Integral b, Monoid a) => b -> a -> a
- newtype First a :: * -> * = First {
- getFirst :: a
- newtype Last a :: * -> * = Last {
- getLast :: a
- newtype Min a :: * -> * = Min {
- getMin :: a
- newtype Max a :: * -> * = Max {
- getMax :: a
- newtype WrappedMonoid m :: * -> * = WrapMonoid {
- unwrapMonoid :: m
Semigroup
typeclass
The class of semigroups (types with an associative binary operation).
Since: 4.9.0.0
(<>) :: a -> a -> a infixr 6 #
An associative operation.
(a<>
b)<>
c = a<>
(b<>
c)
If a
is also a Monoid
we further require
(<>
) =mappend
Reduce a non-empty list with <>
The default definition should be sufficient, but this can be overridden for efficiency.
sconcat :: Semigroup a => NonEmpty a -> a #
Reduce a non-empty list with <>
The default definition should be sufficient, but this can be overridden for efficiency.
stimesMonoid :: (Integral b, Monoid a) => b -> a -> a #
stimesIdempotent :: Integral b => b -> a -> a #
stimesIdempotentMonoid :: (Integral b, Monoid a) => b -> a -> a #
mtimesDefault :: (Integral b, Monoid a) => b -> a -> a #
Use
to get the behavior of
Option
(First
a)First
from Data.Monoid.
Monad First | |
Functor First | |
MonadFix First | |
Applicative First | |
Foldable First | |
Traversable First | |
Generic1 First | |
Bounded a => Bounded (First a) | |
Enum a => Enum (First a) | |
Eq a => Eq (First a) | |
Data a => Data (First a) | |
Ord a => Ord (First a) | |
Read a => Read (First a) | |
Show a => Show (First a) | |
Generic (First a) | |
Semigroup (First a) | |
type Rep1 First | |
type Rep (First a) | |
Use
to get the behavior of
Option
(Last
a)Last
from Data.Monoid
Monad Last | |
Functor Last | |
MonadFix Last | |
Applicative Last | |
Foldable Last | |
Traversable Last | |
Generic1 Last | |
Bounded a => Bounded (Last a) | |
Enum a => Enum (Last a) | |
Eq a => Eq (Last a) | |
Data a => Data (Last a) | |
Ord a => Ord (Last a) | |
Read a => Read (Last a) | |
Show a => Show (Last a) | |
Generic (Last a) | |
Semigroup (Last a) | |
type Rep1 Last | |
type Rep (Last a) | |
Ord
wrappers
Monad Min | |
Functor Min | |
MonadFix Min | |
Applicative Min | |
Foldable Min | |
Traversable Min | |
Generic1 Min | |
Bounded a => Bounded (Min a) | |
Enum a => Enum (Min a) | |
Eq a => Eq (Min a) | |
Data a => Data (Min a) | |
Num a => Num (Min a) | |
Ord a => Ord (Min a) | |
Read a => Read (Min a) | |
Show a => Show (Min a) | |
Generic (Min a) | |
Ord a => Semigroup (Min a) | |
(Ord a, Bounded a) => Monoid (Min a) | |
type Rep1 Min | |
type Rep (Min a) | |
Monad Max | |
Functor Max | |
MonadFix Max | |
Applicative Max | |
Foldable Max | |
Traversable Max | |
Generic1 Max | |
Bounded a => Bounded (Max a) | |
Enum a => Enum (Max a) | |
Eq a => Eq (Max a) | |
Data a => Data (Max a) | |
Num a => Num (Max a) | |
Ord a => Ord (Max a) | |
Read a => Read (Max a) | |
Show a => Show (Max a) | |
Generic (Max a) | |
Ord a => Semigroup (Max a) | |
(Ord a, Bounded a) => Monoid (Max a) | |
type Rep1 Max | |
type Rep (Max a) | |
Backwards compatibility
newtype WrappedMonoid m :: * -> * #
Provide a Semigroup for an arbitrary Monoid.
WrapMonoid | |
|
Generic1 WrappedMonoid | |
Bounded a => Bounded (WrappedMonoid a) | |
Enum a => Enum (WrappedMonoid a) | |
Eq m => Eq (WrappedMonoid m) | |
Data m => Data (WrappedMonoid m) | |
Ord m => Ord (WrappedMonoid m) | |
Read m => Read (WrappedMonoid m) | |
Show m => Show (WrappedMonoid m) | |
Generic (WrappedMonoid m) | |
Monoid m => Semigroup (WrappedMonoid m) | |
Monoid m => Monoid (WrappedMonoid m) | |
type Rep1 WrappedMonoid | |
type Rep (WrappedMonoid m) | |