Adjoint functors
Computing
Functional programming
Monad
Observer pattern
Haskell
Observer
Software engineering
Software design patterns
Computer programming