Netherlands, Utrecht

Advanced Functional Programming

when 26 August 2019 - 30 August 2019
language English
duration 1 week
credits 1 EC
fee EUR 1500

Typed functional programming languages allow for the rapid development of robust programs. This course explore some of the more advanced language features of Haskell, a state­ of­ the­ art functional programming language, together with some of its theoretical background. The course aims to teach not only some of the more recent Haskell features, such GADTs or type families, but also the underlying theory. Besides the lectures, there are numerous supervised lab sessions to help you come to grips with the material covered in class.

We expect students to have a basic familiarity with Haskell already. You should be able to write recursive functions over algebraic data types, such as lists and trees. There is a great deal of online material freely available that covers this material.
From these basics, we aim to cover several more advanced topics, including monads, applicative functors, GADTs, (typed) lambda calculus, and generic programming. Each day we aim to cover a variety of topics in the lectures, mixing both practical programming advice and theoretical foundations. The supervised daily lab sessions offer students the opportunity to practice the material and discuss their problems with our Haskell experts.
If you've already started learning Haskell and are looking to take your functional programming skills to the next level, this is the course for you.

Course leader

Dr. Wouter Swierstra

Fee info

EUR 1500: Course fee
EUR 200: Housing fee

Register for this course
on course website