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:
Type driven Generic Programming;
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
Generic Programming: theoretical background, overloading, type constructor classes, kind indexing, applications of generic programming;
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.
Examples and practical applications of TOP.
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.