Die Ideen der funktionalen Programmierung halten zunehmend Einzug in die kommerzielle Softwareentwicklung, wie zum Beispiel durch die Entwicklung der funktional objekt-orientierten Programmiersprache Swift deutlich wird.
In der Vorlesung lernen Sie die Prinzipien und Entwicklungsmuster der funktionalen Programmierung anhand der stark-getypten, rein-funktionalen Programmiersprache Haskell kennen. Neben Grundlagen wie Lazy Evaluation, Higher-Order Functions und Polymorphismus werden Abstraktionsmechanismen wie Monoide, Funktoren und Monaden vorgestellt.
Am Ende arbeiten Sie sich eigenständig in ein fortgeschrittenes Thema Ihrer Wahl ein. Mögliche Themen sind zum Beispiel: funktionale Datenstrukturen, typsichere Webentwicklung (PureScript/Elm, Servant), freie Theoreme, Grundlagen der Kategorientheorie.