Semigroup-0.0.7: A semigroup

Data.Semigroup

Description

A semigroup is a binary associative operation.

Synopsis

Documentation

class Semigroup a whereSource

A binary operation that must satisfy associativity. Unlike a Monoid, an identity in not essential.

Methods

(.++.) :: a -> a -> aSource

(<++>) :: (Applicative f, Semigroup a) => f a -> f a -> f aSource

A binary associative operation lifted into an applicative functor.

newtype Max a Source

Constructors

Max 

Fields

runMax :: a
 

Instances

Eq a => Eq (Max a) 
Ord a => Ord (Max a) 
Read a => Read (Max a) 
Show a => Show (Max a) 
Ord a => Semigroup (Max a) 

newtype Min a Source

Constructors

Min 

Fields

runMin :: a
 

Instances

Eq a => Eq (Min a) 
Ord a => Ord (Min a) 
Read a => Read (Min a) 
Show a => Show (Min a) 
Ord a => Semigroup (Min a) 

newtype BoundedMax a Source

Constructors

BoundedMax 

Fields

runBoundedMax :: Maybe a
 

Instances

Eq a => Eq (BoundedMax a) 
Ord a => Ord (BoundedMax a) 
Read a => Read (BoundedMax a) 
Show a => Show (BoundedMax a) 
Ord a => Monoid (BoundedMax a) 

newtype BoundedMin a Source

Constructors

BoundedMin 

Fields

runBoundedMin :: Maybe a
 

Instances

Eq a => Eq (BoundedMin a) 
Ord a => Ord (BoundedMin a) 
Read a => Read (BoundedMin a) 
Show a => Show (BoundedMin a) 
Ord a => Monoid (BoundedMin a)