DevilKing's blog

冷灯看剑,剑上几分功名?炉香无需计苍生,纵一穿烟逝,万丈云埋,孤阳还照古陵

0%

Functional Reactive Programming

原文链接

Functional reactive programming (FRP) is a programming paradigm for reactive programming (asynchronous dataflow programming) using the building blocks of functional programming (e.g. map, reduce, filter). FRP has been used for programming graphical user interfaces (GUIs), robotics, games, and music, aiming to simplify these problems by explicitly modeling time.[citation needed

异步的dataflow programing

The key properties of this formulation are:

  • Modeling values that vary over continuous time, called “behaviors” and later “signals”.
  • Modeling “events” which have occurrences at discrete points in time.
  • The system can be changed in response to events, generally termed “switching.”
  • The separation of evaluation details such as sampling rate from the reactive model.

几个抽象

There are two types of FRP systems, push-based and pull-based. Push-based systems take events and push them through a signal network to achieve a result. Pull-based systems wait until the result is demanded, and work backwards through the network to retrieve the value demanded.