Advanced Functional Programming
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.
Dr. Wouter Swierstra
Housing through Utrecht Summer School
We offer a 1000 euro discount for students and staff members of any university, provided they can provide a lightweight proof of their affiliation.
We actively try to keep the school accessible to under represented minorities. If you need further financial assistance to support your application, please contact the organisers directly.
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.
For more information click "LINK TO ORIGINAL" below.
This opportunity has expired. It was originally published here: