Foundations of Functional Programming
The course gives an introduction to functional programming using the language Haskell. Moreover, we discuss models for the semantics and the implementation of functional languages. This also includes techniques for type checking and type inference as well as methods for the optimization of functional programs.