Stefan K. Muller

Learn More
Interactive applications must operate correctly and efficiently while reacting to events in an unpredictable external world. Currently, most such programs are written in an event-driven style that can often be difficult to understand and maintain because callbacks defeat modularity and often share global state. Elliott and Hudak proposed Functional Reactive(More)
With the rise of multicore computers, parallel applications no longer consist solely of computational, batch workloads, but also include applications that may, for example, take input from a user, access secondary storage or the network, or perform remote procedure calls. Such operations can incur substantial latency, requiring the program to wait for a(More)
With the rise of multicore computers, parallel applications no longer consist solely of computational , batch workloads, but also include applications that may, for example, take input from a user, access secondary storage or the network, or perform remote procedure calls. Such operations can incur substantial latency, requiring the program to wait for a(More)
An important feature of functional programs is that they are parallel by default. Implementing an efficient parallel functional language, however, is a major challenge, in part because the high rate of allocation and freeing associated with functional programs requires an efficient and scalable memory manager. In this paper, we present a technique for(More)
We articulate the need for managing (data) locality automatically rather than leaving it to the programmer, especially in parallel programming systems. To this end, we propose techniques for coupling tightly the computation (including the thread scheduler) and the memory manager so that data and computation can be positioned closely in hardware. Such tight(More)
This is an expanded version of a paper that was submitted to the 36 th annual ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI 2015) in November 2014. Apart from the inclusion of additional technical details, the original submission has only been modified to make typographical corrections. Abstract We propose abstractions for(More)
This is a version of a paper that was submitted to the 42 nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2015) in July 2014. Apart from typographical corrections, the difference between the July 2014 submission and this technical report concerns terminology: here, we use the term " factor " instead of " interactible ". We also(More)
  • 1