Functional Reactive Programming, Continued


Henrik Nilsson, Antony Courtney, John Peterson


Functional Reactive Programming (FRP) extends a host programming language with a notion of time flow. Arrowized FRP (AFRP) is a version of FRP embedded in Haskell based on the arrow combinators. AFRP is a powerful synchronous dataflow programming language with hybrid modeling capabilities, combining advanced synchronous dataflow features with the higher-order lazy functional abstractions of Haskell. In this paper, we describe the AFRP programming style and our Haskell-based implementation. Of particular interest are the AFRP combinators that support dynamic collections and continuation-based switching. We show how these combinators can be used to express systems with an evolving structure that are difficult to model in more traditional dataflow languages.


  author = 	 "Henrik Nilsson and Antony Courtney and John Peterson",
  title = 	 "Functional Reactive Programming, Continued",
  booktitle =	 "Proceedings of the 2002 {ACM SIGPLAN} {H}askell
		  Workshop ({H}askell'02)",
  pages =	 "51--64",
  year =	 2002,
  address =	 "Pittsburgh, Pennsylvania, USA",
  publisher =	 "{ACM} Press",
  month =	 oct,