| |
Abstract
Functional Reactive Programming (FRP) is a declarative
programming model for constructing interactive applications based on a
continuous model of time. FRP programs are described in terms of
behaviors
(continuous, time-varying, reactive values), and
events (conditions
that occur at discrete points in time).
This paper presents Frappé, an implementation of FRP in the Java
progamming language. The primary contribution of Frappeé is its
integration of the FRP event/behavior model with the Java Beans event/property
model. At the interface level, any Java Beans component may be used as
a source or sink for the FRP event and behavior combinators. This provides
a mechanism for extending Frappé with new kinds of I/O connections
and allows FRP to be used as a high-level declarative model for composing
applications from Java Beans components. At the implementation level, the
Java Beans event model is used internally by Frappé to propagate
FRP events and changes to FRP behaviors. This allows Frappé applications
to be packaged as Java Beans components for use in other applications,
and yields an implementation of FRP well-suited to the requirements of
event-driven applications (such as graphical user interfaces).
@InProceedings{ac:frappe,
author = "Antony Courtney",
title = "{F}rapp\'{e}: Functional Reactive Programming in {J}ava",
booktitle = "Third International Symposium on Pratical Aspects of Declarative Languages~({PADL})",
year = 2001,
month = "March",
}
Download
|