ReactiveML, ten years later

Louis Mandel, Cédric Pasteur, Marc Pouzet
2015 Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming - PPDP '15  
Ten years ago we introduced ReactiveML, an extension of a strict ML language with synchronous parallelismà la Esterel to program reactive applications. Our purpose was to demonstrate that synchronous language principles, originally invented and used for critical real-time control software, would integrate well with ML and prove useful in a wider context: reactive applications with complex data structures and sequential algorithms, organized as a dynamically evolving set of tightly synchronized
more » ... arallel tasks. While all ReactiveML programs presented at PPDP'05 still compile, the language has evolved continuously to incorporate novel programming constructs, compilation techniques and dedicated static analyses. ReactiveML has been used for applications that we never anticipated: the simulation of large-scale ad-hoc and sensor networks, an interactive debugger, and interactive mixed music. These applications were only possible due to the efficient compilation of ReactiveML into sequential code, which we present here for the first time. We also present a parallel implementation that uses work-stealing techniques through shared memory. Finally, we give a retrospective view on ReactiveML over the past ten years. 1
doi:10.1145/2790449.2790509 dblp:conf/ppdp/MandelPP15 fatcat:yilr3iv5wbbebkpq5n2dmvgtfu