Rinus Plasmeijer

Task-Oriented Functional Programming for Industrial Applications

Prof. Rinus Plasmeijer worked at the Radboud University Nijmegen for over 40 years. He is well-known for his work on the pure lazy functional programming language Clean.

His 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. He co-authored over 300 publications.

Since 2007 he is focussing on a special flavour of functional programming, called Task Oriented Programming (TOP), an Embedded Domain Specific Language for developing web-oriented multi-user applications, using Clean as host language. 
In 2018 he co-founded a spin-off company, TOP Software Technology, which uses Task Oriented Programming for developing Command and Control type of industrial applications. 


The iTask library developed at the University of Nijmegen offers Task Oriented Programming (TOP) as an Embedded Domain Specific Language (EDSL) hosted in the pure functional language Clean. It is designed to support the development of distributed, multi-user, multi-platform, web applications. It allows programmers to focus on the different tasks and the dependencies between these tasks the application has to support. One does not need to worry too much about the technical details needed for the realization. From one source, the code, to be executed on the server, as well as the code to be executed on the browser, is generated. All data communication and synchronization between the parties involved is handled automatically by the iTask Operating System.

iTasks has successfully been used for developing industrial prototypes in different area’s. This has led in 2018 to a spin-off start-up company, TOP Software Technology (www.top-software.nl), which uses iTasks for the development of industrial applications. We focus on Command and Control Systems such as VIIA (Vessel Information Integrating Application). VIIA is a large and data demanding web-based multi-user application monitoring and storing the world-wide movements of ship vessels over time. It is used by the Dutch Coast Guard to detect unwanted behaviours as soon as possible such that one has time to undertake proper actions. It is also used to investigated behaviours in the past. among others to find better infra-structural solutions for the future.

In this talk we will give a short overview of VIIA to explain what the challenges are, and pinpoint to special features of Clean and iTasks used in the implementation.


That pure functional languages like Clean using TOP abstractions are suitable to construct complex multi-user data-intensive real-world applications.


Anyone interested in functional programming.