Functional Programming in the Netherlands

Posted by Jesper on July 17, 2024

Back in January of this year, I had the honor of hosting the `FP Dag’ – also known as the Dutch Functional Programming Day – here in Delft. Apart from several entertaining and thought-provoking talks, we also had a discussion around functional programming in education. During this discussion, I gathered input from the participants on four questions:

  1. What courses about functional programming are we teaching in the Netherlands?
  2. Which concepts are we teaching in these courses?
  3. Which concepts should we be teaching (more)?
  4. How could our FP education be improved?

Recently I stumbled upon my notes from that meeting and thought it would be interesting to share them, so here you go.

What FP courses are we teaching?

Here is a list of all the courses that people mentioned, plus a few more that I found afterwards. I only included courses for which I could find some evidence that they actually exist, like a course description. Universities make basic information frustratingly hard to find, so I might have missed some.

TU Delft

Radboud Universiteit

University of Groningen

TU Eindhoven

Universiteit Twente

Utrecht University

Universiteit van Amsterdam

Vrije Universiteit Amsterdam

Open University

The main languages used seem to be Haskell and Scala, with a mix of Coq, Lean, and Agda for more verification-focused courses.

Which concepts are we teaching?

Basic FP techniques

Advanced FP techniques

Program verification

Programming language theory related to functional programming

What concepts should we be teaching (more)?

Out of these, I’m especially interested to teach effect systems, domain modelling, concurrency, and FRP (and learn more about those topics myself!).

How could functional programming education be improved?

So there you have it: a crowdsourced overview of some things we are teaching and some more things we could be teaching. I don’t have a proper conclusion, but I hope this will be interesting and useful for people studying and teaching functional programming around the world. It goes without saying that I think teaching functional programming is great and we should be doing even more of it! Speaking of which, I certainly got some inspiration for my new course on Advanced Functional Programming which I will teach for the first time in Q4 of the upcoming academic year.

If you have your own ideas or additions, let’s discuss on the Fediverse, or feel free to send me an email!