Safe Haskell | None |
---|---|

Language | Haskell2010 |

Actions of semigroup (SSet).

# Documentation

class Semigroup s => SSet s a where Source #

A lawful instance should satisfy:

g `act` h `act` a = g <> h `act` a

This is the same as to say that `act`

is a semigroup homomorphism from `s`

to
the monoid of endomorphisms of `a`

(i.e. maps from `a`

to `a`

).

Note that if `g`

is a

then `Group`

is simply a `MAct`

g`GSet`

, this
is because monoids and groups share the same morphisms (a monoid homomorphis
between groups necessarily preserves inverses).

## Instances

Semigroup s => SSet s s Source # | |

Defined in Data.Semigroup.SSet | |

SSet s a => SSet s (IO a) Source # | |

SSet s a => SSet s (Down a) Source # | |

SSet s a => SSet s (Maybe a) Source # | |

SSet s a => SSet s (Identity a) Source # | |

(SSet s a, Ord a) => SSet s (Set a) Source # | |

SSet s a => SSet s (NonEmpty a) Source # | |

SSet s a => SSet s [a] Source # | |

Defined in Data.Semigroup.SSet | |

SSet s b => SSet s (a -> b) Source # | |

Defined in Data.Semigroup.SSet | |

SSet s b => SSet s (Either a b) Source # | |

(SSet s a, SSet s b) => SSet s (a, b) Source # | |

Defined in Data.Semigroup.SSet | |

Semigroup m => SSet m (FreeMSet m a) Source # | |

SSet s a => SSet s (Const a b) Source # | |

(SSet s a, SSet s b, SSet s c) => SSet s (a, b, c) Source # | |

Defined in Data.Semigroup.SSet | |

(Functor f, Functor h, SSet s a) => SSet s (Sum f h a) Source # | |

(Functor f, Functor h, SSet s a) => SSet s (Product f h a) Source # | |

(SSet s a, SSet s b, SSet s c, SSet s d) => SSet s (a, b, c, d) Source # | |

Defined in Data.Semigroup.SSet | |

(SSet s a, SSet s b, SSet s c, SSet s d, SSet s e) => SSet s (a, b, c, d, e) Source # | |

Defined in Data.Semigroup.SSet | |

(SSet s a, SSet s b, SSet s c, SSet s d, SSet s e, SSet s f) => SSet s (a, b, c, d, e, f) Source # | |

Defined in Data.Semigroup.SSet | |

(SSet s a, SSet s b, SSet s c, SSet s d, SSet s e, SSet s f, SSet s h) => SSet s (a, b, c, d, e, f, h) Source # | |

Defined in Data.Semigroup.SSet | |

(SSet s a, SSet s b, SSet s c, SSet s d, SSet s e, SSet s f, SSet s h, SSet s i) => SSet s (a, b, c, d, e, f, h, i) Source # | |

Defined in Data.Semigroup.SSet | |

SSet s a => SSet (Identity s) a Source # | |

Defined in Data.Semigroup.SSet | |

SSet (Endo a) a Source # | |

Defined in Data.Semigroup.SSet | |

Group g => SSet (Sum Integer) g Source # | |

Monoid s => SSet (Sum Natural) s Source # | |

SSet m a => SSet (S m) a Source # | |

Defined in Data.Semigroup.SSet | |

SSet s a => SSet (S s) (Endo a) Source # | |

A newtype wrapper to avoid overlapping instances.

## Instances

Semigroup m => Semigroup (S m) Source # | |

Monoid m => Monoid (S m) Source # | |

SSet m a => SSet (S m) a Source # | |

Defined in Data.Semigroup.SSet | |

MSet m a => MSet (S m) a Source # | |

Defined in Data.Monoid.MSet | |

SSet s a => SSet (S s) (Endo a) Source # | |

MSet m b => MSet (S m) (Endo b) Source # | |

Defined in Data.Monoid.MSet |