Computer programming
Adjoint functors
Data types
Type theory
Monad
Type class
Map
Arrow
List
Declarative programming
Functional programming
Software engineering