In essence, a simple collection which can be thought of as a graph. Three components

  1. A collection of objects (nodes)
  2. A collection of morphisms (edges).
    • If is a morphism with source C and target B, we write
  3. A notion of composition of morphisms.
    • If we have and , they can be composed resulting in a morphism
    • Composition of morphisms needs to be associative. Typically applied right to left

See also: functional programming, Homotopy Theory