Reactive Programming with Events (Master thesis)
Supervised by Don Syme (Microsoft Research, Cambridge)
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
- Download the thesis (PDF)
- For garbage collection of events see ISMM 2010 paper
- For pattern matching on monads see PADL 2011 paper
Most of the (interesting) work from the thesis has been better described in the ISMM 2010 and PADL 2011 papers mentioned above, but the thesis can be cited using the following information:
1: 2: 3: 4: 5: 6:
Published: Tuesday, 17 August 2010, 12:00 AM
Author: Tomas Petricek
Typos: Send me pull request!