First-class signals for Functional Reactive Programming

Wolfgang Jeltsch

Institute of Cybernetics at TUT

Thursday, 13 October 2011, 14:00
Cybernetica Bldg (Akadeemia tee 21), room B101


Slides from the talk [pdf]

Abstract: Functional Reactive Programming (FRP) makes it possible to implement reactive and interactive systems in a declarative style. The programmer describes temporal behavior of system components using continuous and discrete signals, which represent time-varying values and event streams, respectively. Signal combinators make it possible to construct complex signals out of simpler ones.

In this talk, I will first give an introduction to FRP and present a straightforward implementation of an FRP subset in Haskell. I will then show why this implementation fails to provide signals as first-class values. Finally, I will explain how this problem can be solved by employing lazy evaluation and advanced type system features.


Tarmo Uustalu
Last update 13.10.2011