Composable Higher-Order Reactors as the Basis for a Live Reactive Programming Environment

Oeyen, B. (Speaker)

Activity: Talk or presentationTalk or presentation at a workshop/seminar


A live programming environment allows programmers to edit programs while they are running.This means that successive “edit steps” must not allow a programmer to bring the program in a form that does not make any sense to the underlying language processor (i.e. parser, compiler,…). Many live programming environments therefore rely on disciplined edit steps that are based on language elements such as objects, classes, and methods. Textual modifications to these elements are not seen as edit steps until some “accept” button is hit.Unfortunately, no such elements exist in current reactive languages. We present a new reactive language, called Haai, that is based on first-class higher-order reactors. Linguistically, Haai programs correspond to reactors or compositions of reactors. At run-time, reactors produce an infinite stream of values just like signals and behaviours in existing languages.Haai’s live programming environment relies on textual modifications of entire reactors as its basic edit steps. Changing a reactor automatically updates all occurrences of that reactor in the reactive program, while it is running.
Period4 Nov 2018
Event titleREBLS 2018: 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems.
Event typeWorkshop
LocationBoston, United States
Degree of RecognitionInternational