class Semigroupoid :: forall k. (k -> k -> Type) -> Constraintclass Semigroupoid a  where

A Semigroupoid is similar to a Category but does not require an identity element identity, just composable morphisms.

Semigroupoids 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.


  • compose :: forall b c d. a c d -> a b c -> a b d



Operator alias for Control.Semigroupoid.compose (right-associative / precedence 9)


composeFlipped :: forall a b c d. Semigroupoid a => a b c -> a c d -> a b d

Forwards composition, or compose with its arguments reversed.


Operator alias for Control.Semigroupoid.composeFlipped (right-associative / precedence 9)