Interactive Programming of Reactive Systems

ReactiveML is a synchronous reactive extension of the general purpose programming language OCaml. It allows to program reactive systems such as video games or simulators.
This paper presents rmltop, the ReactiveML counterpart of the OCaml toplevel. This toplevel allows for the programmer to interactively write ReactiveML programs which are type-checked, compiled and loaded on the fly. The user can then progressively run concurrent processes and observe their interactions between themselves.
The main originality of rmltop is that any valid ReactiveML expression is accepted into the toplevel and has the same semantics and efficiency as the the compiled version. It allows to use the ReactiveML toplevel as a debugger.
Moreover, a toplevel interpreter being itself a reactive system, one originality of rmltop is to be itself implemented in ReactiveML, making its implementation relatively light.


Back to the main page