The seminar is devoted to advanced programming concepts and techniques available in functional languages, and it covers topics such as continuations, definitional interpreters, monads, parametricity, higher-rank polymorphism, GADT's, existential types and modules, dependent types, partial evaluation and staged programming, reactive programming.