Mathematics
Computer programming
Type theory
Monad
Admissible rule
Type class
Valuation
Denotational semantics
Adjoint functors
Functional programming
Software engineering