3 ms·
There's also the old-school FRP approach of "behaviours", which are pure functions of time (where "time" is an abstract datatype with few operations). Combining
by chriswarbo 4y ago
There's also the old-school FRP approach of "behaviours", which are pure functions of time (where "time" is an abstract datatype with few operations). Combining and composing these functions gives new behaviours, until we have a single top-level "main function"; which the runtime system samples as needed (e.g. at a steady framerate, or varying to save power, etc.)
Conal Elliot has been working on this since the 90s (e.g. http://conal.net/fran http://conal.net/fran ), but has since rebranded it as "denotational design", since the FRP label now refers to more discrete, event-based systems like Elm and React.
Unfortunately, the API of early implementations required old states to be kept for unbounded amounts of time, which made them impractical; although newer implementations like FRPNow don't have that problem.