Collecting Hollywood's Garbage Avoiding Space-Leaks in Composite Events
Tomas Petricek and Don Syme
In Proceedings of ISMM 2010
The reactive programming model is largely different to what we're used to as we don't have full control over the application's control flow. If we mix the declarative and imperative programming style, which is usual in the ML family of languages, the situation is even more complex. It becomes easy to introduce patterns where the usual garbage collector for objects cannot automatically dispose all components that we intuitively consider garbage.
In this paper we discuss a duality between the definitions of garbage for objects and events. We combine them into a single one, to specify the notion of garbage for reactive programming model in a mixed functional/imperative language and we present a formal algorithm for collecting garbage in this environment.
Building on top of the theoretical model, we implement a library for reactive programming that does not cause leaks when used in the mixed declarative/imperative model. The library allows us to safely combine both of the reactive programming patterns. As a result, we can take advantage of the clarity and simplicity of the declarative approach as well as the expressivity of the imperative model.
Paper and more information
- Download the paper from ACM (free PDF), or use a local backup (PDF)
- View slides from ISMM 2010 (PDF)
- Read a related blog post
If you want to cite the paper, you can use the following BibTeX information, or get full details from the paper page on ACM.
1: 2: 3: 4: 5: 6: 7: 8: 9:
If you have any comments, suggestions or related ideas, I'll be happy to hear from you! Send me an email at firstname.lastname@example.org or get in touch via Twitter at @tomaspetricek.
Published: Thursday, 11 February 2010, 12:00 AM
Author: Tomas Petricek
Typos: Send me a pull request!