Utrecht Summer School logo
Utrecht University logo

Applied Functional Programming in Haskell

Organizing institution
Utrecht University, Faculty of Science (UU)
Course code
Course fee (incl. housing)
€ 1700
Master level

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 the more advanced 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. 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.

Tags: programming, functional programming, haskell, type systems, software engineering, software development

» Download the day-to-day programme (PDF)

Bookmark and Share


Wouter Swierstra


This course is aimed at programmers who have had some previous experience with Haskell, but are looking to come to grips with some of the more advanced language features. We expect students to have a solid understanding of some basic concepts, such as data types, pattern matching, and higher-order functions. There is plenty of suitable introductory material available, including books such as Programming in Haskell or Learn you a Haskell, or the FP101x MOOC. You don't need to understand monads or type families, but you should be able to read and write straightforward Haskell code.

Feel free to contact the lecturers if you are unsure whether or not this course is for you.


Participants will learn a modern programming paradigm. The acquired knowledge will not only enable participants to contribute to programming projects using Haskell – it will also enable them to apply the concepts they have learned to other projects, making them better programmers in any language.


The course takes one week, with approximately 4 hours of lectures per day. The remaining 4 hours will be for lab sessions.


• € 1700 - Course + course materials + housing
• € 1500 - Course + course materials

Students and lecturers from universities get a discount of 1000 euro on the course fee. Please submit a proof of your affiliation with a university together with your application to be eligible for this discount.

Lunches and social events are included in the registration fee.

» Overview of all available discounts


Utrecht Summer School doesn't offer scholarships for this course.


Wouter Swierstra
E: w.s.swierstra@uu.nl
P: +31 (0)302539207

» Contact Utrecht Summer School


Deadline for registration: 01 August 2017