Asynchronous data flow
Asynchronous data flow generally refers to frameworks such as Reactive Extensions (Rx), ReactiveCocoa, and Bacon.js. It is called as such as it completely eliminates synchronous updates.
These frameworks introduce the concept of Observable Sequences[4], sometimes called Event Streams.
This formulation of FRP has the advantage of not being confined to functional languages. Therefore, even imperative languages such as Java can take advantage of this style of programming.
Arguably, these frameworks were responsible for the confusion around FRP terminology. Conal Elliott, at some point, suggested the term CES (see https://twitter.com/conal/status/468875014461468677).
I have since adopted this terminology (see http://vimeo.com/100688924), as I believe it highlights two important factors:
- A fundamental difference between CES and FRP: CES is entirely event-driven
- CES is highly composable via combinators, taking inspiration from FRP
CES is the main focus of this book.