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
gGSet
, 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 |