Typed functional programming languages allow for the rapid development of robust programs. This course explores 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.
We offer a 1000 euro discount for students and staff members of any university, provided they can provide a proof of their affiliation.
Housing through: Utrecht Summer School.
Please let us know if you would like to apply for the additional discount for students and lecturers associated with a university. To receive this discount, we ask you to provide some lightweight proof -- such as writing us from an university email address -- to prove your affiliation.
Dr. Wouter Swierstra | E: firstname.lastname@example.org | T:+31 30 2539207