Implement your own ReactiveML

Guillaume Baudart, Louis Mandel, Cédric Pasteur and Marc Pouzet
Tutorial at the International Conference on Functional Programming 2018

ReactiveML is an extension of a general purpose language a la ML with parallel and synchronization primitives to develop reactive applications. It is based on the reactive model introduced by Boussinot in the 90s, that retains the key principles of synchronous languages --- at the programming level, time is discrete and global to all the processes whose parallel composition behave deterministically --- but relaxes it to allow for the dynamic creation of processes. Therefore, it keeps the expressiveness and deterministic guarantees of synchronous languages like Esterel but removes its real-time constraints. ReactiveML allows to program applications as diverse as network simulators, mixed-music, chatbots, or a chess eye .

In this tutorial, we will present the main concepts underlying the language and have a hands-on session where the participants see both how to program in ReactiveML and how to program ReactiveML.

ReactiveML main page