Stefan Muller
Assistant Professor of Computer Science at Rice University

Expressive and Efficient Functional Semantics for Interaction

Prior work in Functional Reactive Programming has sought to reconcile the seemingly imperative notion of interaction with the coding conventions and guarantees of functional programming, but this has often been at the cost of efficiency or expressiveness. We seek to combine the best of both worlds. To ensure predictable time and space performance, we use an imperative implementation. To regain a functional semantics, we must restrict the way in which streams can be used, but we wish to do so without restricting the syntax, thus hindering the expression of safe programs. Instead, we develop a linear type system that treats streams as consumable resources whose contents can be split up but not duplicated. We hypothesize that well-typed programs in this system can be simulated by a functional, though nondeterministic, semantics.

Stefan Muller completed his undergraduate at Harvard, where his senior thesis advised by Stephen Chong developed a static analysis for reasoning about information flow in concurrent programs. He is currently a 2nd-year PhD student in the Computer Science Department advised by Umut Acar, focusing on interactive computation.

Friday, May 2nd, 2014
1:30 PM
Gates & Hillman Centers 6501

Principles of Programming Seminars