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;


Objectives

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


Subjects

  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.



Examination

Oral, closed book.


Pre-requisites

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


Literature

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