A programming language for implementing interactive systems. ReactiveML combines the temporal expressiveness of synchronous languages with the power of functional programming.

What is ReactiveML?

ReactiveML is a general purpose programming language extended with concurrency constructs to ease the programming of interactive systems. The concurrency model of the language originates from the synchronous model that is used to program real-time applications. Therefore, it takes advantages of the expressiveness and determinism of the model and removes the real-time constraints. Click here to see some video about ReactiveML.

What are the uses of ReactiveML?

ReactiveML is dedicated to the implementation of interactive systems as found in video games and simulation problems. For example, it has been used to simulate power consumption in sensor networks (Glonemo) or to implement a sequencer for mixed music (ReactiveAsco). More examples are given in the examples page.

How to learn ReactiveML?

Start learning ReactiveML with the interactive tutorial available online. A documentation explains how to compile ReactiveML programs and gives the syntax and intuitive semantics of the reactive constructs. Finally, academic publications describes precisely the language, its static analysis and implementation.