semigroups-0.3.4.2: Haskell 98 semigroups

Portabilityportable
Stabilityprovisional
MaintainerEdward Kmett <ekmett@gmail.com>

Data.Semigroup

Description

Synopsis

Documentation

class Semigroup a whereSource

Methods

(<>) :: a -> a -> aSource

Instances

Semigroups

newtype Min a Source

Constructors

Min

Fields

getMin :: a

Instances

Bounded a => Bounded (Min a)
Eq a => Eq (Min a)
Data a => Data (Min a)
Ord a => Ord (Min a)
Read a => Read (Min a)
Show a => Show (Min a)
(Ord a, Bounded a) => Monoid (Min a)
Ord a => Semigroup (Min a)

newtype Max a Source

Constructors

Max

Fields

getMax :: a

Instances

Bounded a => Bounded (Max a)
Eq a => Eq (Max a)
Data a => Data (Max a)
Ord a => Ord (Max a)
Read a => Read (Max a)
Show a => Show (Max a)
(Ord a, Bounded a) => Monoid (Max a)
Ord a => Semigroup (Max a)

newtype First a Source

Use Option (First a) -- to get the behavior of Data.Monoid.First

Constructors

Fields

getFirst :: a

Instances

Bounded a => Bounded (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)

newtype Last a Source

Use Option (Last a) -- to get the behavior of Data.Monoid.Last

Constructors

Fields

getLast :: a

Instances

Bounded a => Bounded (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)

newtype WrappedMonoid m Source

Constructors

Fields

unwrapMonoid :: m

Instances

Monoids from Data.Monoid

newtype Dual a

The dual of a monoid, obtained by swapping the arguments of mappend .

Constructors

Fields

getDual :: a

Instances

Bounded a => Bounded (Dual a)
Eq a => Eq (Dual a)
Ord a => Ord (Dual a)
Read a => Read (Dual a)
Show a => Show (Dual a)
Monoid a => Monoid (Dual a)

newtype Endo a

The monoid of endomorphisms under composition.

Constructors

Fields

appEndo :: a -> a

Instances

newtype All

Boolean monoid under conjunction.

Constructors

All

Fields

getAll :: Bool

Instances

newtype Any

Boolean monoid under disjunction.

Constructors

Any

Fields

getAny :: Bool

Instances

newtype Sum a

Monoid under addition.

Constructors

Sum

Fields

getSum :: a

Instances

Bounded a => Bounded (Sum a)
Eq a => Eq (Sum a)
Ord a => Ord (Sum a)
Read a => Read (Sum a)
Show a => Show (Sum a)
Num a => Monoid (Sum a)
Num a => Semigroup (Sum a)

newtype Product a

Monoid under multiplication.

Constructors

Fields

getProduct :: a

Instances

Eq a => Eq (Product a)
Ord a => Ord (Product a)
Read a => Read (Product a)
Show a => Show (Product a)
Num a => Monoid (Product a)
Num a => Semigroup (Product a)

A better monoid for Maybe

newtype Option a Source

Option is effectively Maybe with a better instance of Monoid , built off of an underlying Semigroup instead of an underlying Monoid .

Constructors

Fields

getOption :: Maybe a

Instances

option :: b -> (a -> b) -> Option a -> bSource

Difference lists of a semigroup

diff :: Semigroup m => m -> Endo mSource

This lets you use a 'difference list' of a semigroup as a Monoid.

AltStyle によって変換されたページ (->オリジナル) /