Module
Control.Category
#Category
class (Semigroupoid a) <= Category a where
Category
s consist of objects and composable morphisms between them, and
as such are Semigroupoids
, but unlike semigroupoids
must have an identity element.
Instances must satisfy the following law in addition to the
Semigroupoid
law:
- Identity:
identity <<< p = p <<< identity = p
Members
identity :: forall t. a t t
Instances
Re-exports from Control.Semigroupoid
#Semigroupoid
class Semigroupoid a where
A Semigroupoid
is similar to a Category
but does not
require an identity element identity
, just composable morphisms.
Semigroupoid
s must satisfy the following law:
- Associativity:
p <<< (q <<< r) = (p <<< q) <<< r
One example of a Semigroupoid
is the function type constructor (->)
,
with (<<<)
defined as function composition.
Members
compose :: forall b c d. a c d -> a b c -> a b d
Instances
#(>>>)
Operator alias for Control.Semigroupoid.composeFlipped (right-associative / precedence 9)
#(<<<)
Operator alias for Control.Semigroupoid.compose (right-associative / precedence 9)
Modules
- Control.Applicative
- Control.Apply
- Control.Bind
- Control.Category
- Control.Monad
- Control.Semigroupoid
- Data.Boolean
- Data.BooleanAlgebra
- Data.Bounded
- Data.CommutativeRing
- Data.DivisionRing
- Data.Eq
- Data.EuclideanRing
- Data.Field
- Data.Function
- Data.Functor
- Data.HeytingAlgebra
- Data.Monoid
- Data.Monoid.Additive
- Data.Monoid.Conj
- Data.Monoid.Disj
- Data.Monoid.Dual
- Data.Monoid.Endo
- Data.Monoid.Multiplicative
- Data.NaturalTransformation
- Data.Ord
- Data.Ord.Unsafe
- Data.Ordering
- Data.Ring
- Data.Semigroup
- Data.Semigroup.First
- Data.Semigroup.Last
- Data.Semiring
- Data.Show
- Data.Symbol
- Data.Unit
- Data.Void
- Effect
- Effect.Class
- Effect.Class.Console
- Effect.Console
- Effect.Uncurried
- Effect.Unsafe
- Main
- PSCI.Support
- Prelude
- Prim
- Prim.Ordering
- Prim.Row
- Prim.RowList
- Prim.Symbol
- Prim.TypeError
- Record.Unsafe
- Type.Data.Boolean
- Type.Data.Ordering
- Type.Data.Row
- Type.Data.RowList
- Type.Data.Symbol
- Type.Equality
- Type.Prelude
- Type.Proxy
- Type.Row
- Type.Row.Homogeneous