Tomas Petricek @ Computer Lab

Reactive Programming with Events (Master's thesis)

Supervised by Don Syme

Charles University in Prague, 2010

The reactive programming model is largely different to what we’re used to as we don’t have a full control over the application’s control flow. As a result, reactive applications need to be structured differently and need to be written using different patterns. We build an easier way for developing reactive applications. Our work integrates declarative and imperative approach to reactive programming and uses the notion of event as the unifying concept. We discuss the problem of memory management in this scenario and develop a technique for collecting not only events that are not reachable, but also events that cannot trigger any action. Next, we present a language extension that makes it possible to wait for occurrences of events that match some defined pattern. The extension isn’t bound to the reactive programming model and can be used for concurrent and parallel programming scenarios as well. Finally, we develop a reactive programming library that builds on top of the ideas discussed earlier and we present semantics of the library to enable formal reasoning about reactive programs.

Thesis and more information

Bibtex 

@MastersThesis{events-thesis,
    author = {Petricek, Tomas},
    title  = {Reactive {P}rogramming with {E}vents},
    school = {Charles University in Prague},
    year   = {2010}
}

Comments are welcome!

If you have any comments, suggestions or related ideas, I'll be happy to hear from you at