IKP-9162V Advanced functional programming

lecturer: Prof.dr.ir. Rinus Plasmeijer

Radboud Universiteit Nijmegen

credit: 1

20-23. November 2017.

Schedule – all rooms are in South Building

20. November  (Monday) 16:00-17:30, room: 1-820

21. November  (Tuesday) 16:00-17:30, room: 0-820

22. November  (Wednesday) 16:00-17:30, room: 0-822

23. November  (Thursday) 14:00-15:30, room 2-502

23. November  (Thursday) 16:00-17:30, room: 00-718

Short description:

In this course advanced programming concepts will be taught. We will address:

  1. Type driven Generic Programming;

  2. Task Oriented Programming for developing multi-user, distributed, web-based applications in a pure functinal language;


Insight in some state-of-the-art advanced programming concepts, their theoretical background and their practical applicability.


  1. Generic Programming: theoretical background, overloading, type constructor classes, kind indexing, applications of generic programming;

  2. Task Oriented Programming (TOP), Editors, Task Combinators, Shared Data Sources, web programming in a functional language, client-server architecture, publish-subscribe systems, developing apps for Android.

  3. Examples and practical applications of TOP.

  4. TOP as example of an Embedded Domain Specific Language, Deep and Shallow Semantics, Continuation based operational semantics.


Oral, closed book.


Basic knowledge about functional programming in general (Clean or Haskell).


Scientific papers on the topics above which will be handed out during the course.

Extra information

For practical experience we use the state-of-the-art functional language Clean.

Lecture materials