The Beauty of Functional Code. Essays Dedicated to Rinus Plasmeijer on the Occasion of His 61st Birthday
This Festschrift for Rinus Plasmeijer has been compiled to celebrate the combined occasion of Rinus’s 61st birthday and the 25th Symposium on Implementation and Application of Functional Languages.
For this Festschrift we invited all former PhD students of Rinus as well as researchers in the field of functional programming who are listed in joint publications with Rinus. The contributions are scientific essays, and the theme of the book is beautiful code. We asked the authors to write about the influence the beauty of functional programming has had or still has on their work. The order of appearance in this Festschrift is inspired loosely by the timeline that is described above.
Workflows can be specified using different languages. Mainstream workflow management systems predominantly use procedural languages having a graphical representation involving AND/XOR splits and joins (e.g., using BPMN). However, there are interesting alternative approaches. For example, case handling approaches are data-driven and allow users to deviate within limits, and declarative languages based on temporal logic (where everything is allowed unless explicitly forbidden). Recently, Rinus Plasmeijer proposed the iTask system (iTasks) based on the viewpoint that workflow modeling is in essence a particular kind of functional programming. This provides advantages in terms of expressiveness, extendibility, and implementation efficiency. On the occasion of his 61st birthday, we compare four workflow paradigms: procedural, case handling, declarative, and functional. For each paradigm we selected a characteristic workflow management system: YAWL (procedural), BPM|one (case handling), Declare (declarative), and iTasks (functional). Each of these systems aims to describe and support business processes in an elegant manner. However, there are significant differences. In this paper, we aim to identify and discuss these differences.