monoid-extras-0.7: Various extra monoid-related definitions and utilities

Copyright | (c) 2013-2015 diagrams-core team (see LICENSE)
License | BSD-style (see LICENSE)
Maintainer | diagrams-discuss@googlegroups.com
Safe Haskell | Safe-Inferred
Language | Haskell2010

Data.Monoid.Endomorphism

Description

The monoid of endomorphisms over any `Category`.

Synopsis

- newtype Endomorphism (k :: Type -> Type -> Type) a = Endomorphism {
  - getEndomorphism :: k a a
  }

# Documentation

newtype Endomorphism (k :: Type -> Type -> Type) a Source #

An `Endomorphism` in a given `Category` is a morphism from some object to itself. The set of endomorphisms for a particular object form a monoid, with composition as the combining operation and the identity morphism as the identity element.

Constructors

Endomorphism |

Fields

- getEndomorphism :: k a a

#### Instances

Instances details

(Semigroupoid k, Category k) => Monoid (Endomorphism k a) Source # |
Instance details Defined in Data.Monoid.Endomorphism Methods mempty :: Endomorphism k a Source # mappend :: Endomorphism k a -> Endomorphism k a -> Endomorphism k a Source # mconcat :: [Endomorphism k a] -> Endomorphism k a Source #
Semigroupoid k => Semigroup (Endomorphism k a) Source # |
Instance details Defined in Data.Monoid.Endomorphism Methods (<>) :: Endomorphism k a -> Endomorphism k a -> Endomorphism k a Source # sconcat :: NonEmpty (Endomorphism k a) -> Endomorphism k a Source # stimes :: Integral b => b -> Endomorphism k a -> Endomorphism k a Source #
Show (k a a) => Show (Endomorphism k a) Source # |
Instance details Defined in Data.Monoid.Endomorphism Methods showsPrec :: Int -> Endomorphism k a -> ShowS Source # show :: Endomorphism k a -> String Source # showList :: [Endomorphism k a] -> ShowS Source #
(Category k, Groupoid k) => Group (Endomorphism k a) Source # |
Instance details Defined in Data.Monoid.Endomorphism Methods invert :: Endomorphism k a -> Endomorphism k a Source # (~~) :: Endomorphism k a -> Endomorphism k a -> Endomorphism k a Source # pow :: Integral x => Endomorphism k a -> x -> Endomorphism k a Source #