My main research
interests are functional programming (in particular Clean), generic programming, graph
re-writing systems, type systems, static analysis, compiler construction,
code generation, men – machine interaction, parallel programming, distributed application development,
operating systems, web-based systems, test systems, workflow systems, and internet
programming. Currently
I apply advanced functional programming techniques to enable model driven software
development. In particular I use these techniques for
realizing Embedded Domain Specific Languages, using Clean as host language.
A nice example of an EDSL is the
iTask system.
It offers a new flavour of function programming: Task Oriented Programming (TOP).
In the iTask system one describes on a very high level abstraction the tasks to do.
Arbitrary complex collaboration between men and machine can be defined.
From the description a multi-user, distributed web application is generated which will
help people to do their work as described.

Publications

I am (co-)author of
more than 200 scientific publications which can be found
here and
here.

Teaching

I currently teach an introductory course on functional
programming, an advanced course on functional programming,
generic programming and task oriented programming,
and a course on compiler construction. Their description can be found here.