Computer programming
Software engineering
Declarative programming
Functional programming
Functional languages
Monad
Haskell
Proof assistant
Mathematical proof