Software engineering
Computer programming
Programming language theory
Compiler optimizations
Functional languages
Inline expansion
Subroutines
Haskell
Entry point