Functional reactive programming
From Wikipedia, the free encyclopedia
Functional reactive programming is a programming paradigm for reactive programming in a functional programming setting.[1]
One key point (usenet discussion) seems to be that input is viewed as a "behavior" or time-varying stream of events.
From [1] "Functional Reactive Programming like functional programming except that each function can accept a stream of input values. If a new input value arrives on an argument, then the function is reevaluated with all the most recent input values and a new output value is created. This is a kind of dataflow programming. It can handle nondeterminism, so it is more expressive than declarative concurrency. In fact, it can be implemented with the declarative concurrent model extended with WaitTwo. (This means that it is similar in expressiveness to concurrent logic programming!)" Quote by Peter van Roy
The key ideas in FRP are its notions of continuous, time-varying values, and time-ordered sequences of discrete events.
[edit] References
- ^ Henrik Nilsson. Functional Reactive Programming Research. Retrieved on 2006-10-17.
[edit] See also
- Flapjax, an implementation for JavaScript
- JavaFX, a Java-based language with data binding feature (using the bind keyword)
[edit] External links
- Haskell related FRP research
- FrTime, a PLT Scheme implementation