官术网_书友最值得收藏!

Signals and events

So far, we have been dealing with the idea of programs that react to user input. This is, of course, only a small subset of reactive systems, but is enough for the purposes of this discussion.

User input happens several times through the execution of a program: key presses, mouse drags, and clicks are but a few examples of how a user might interact with our system. All of these interactions happen over a period of time. FRP recognizes that time is an important aspect of reactive programs and makes it a first-class citizen through its abstractions.

Both signals (also called behaviors) and events are related to time. Signals represent continuous, time-varying values. Events, on the other hand, represent discrete occurrences at a given point in time.

For example, time is itself a signal. It varies continuously and indefinitely. On the other hand, a key press by a user is an event, that is, a discrete occurrence.

It is important to note, however, that the semantics of how a signal changes need not be continuous. Imagine a signal that represents the current (x,y) coordinates of your mouse pointer.

This signal is said to change discretely, as it depends on the user moving the mouse pointer—an event which isn't a continuous action.

主站蜘蛛池模板: 贵南县| 迁安市| 沂源县| 临洮县| 昌平区| 普安县| 昌江| 梁平县| 巴东县| 朔州市| 离岛区| 镇平县| 阜城县| 谢通门县| 蓝田县| 达拉特旗| 福州市| 临湘市| 格尔木市| 宣武区| 嘉善县| 永嘉县| 东海县| 大宁县| 满洲里市| 镇江市| 荥阳市| 明溪县| 蒙阴县| 衡东县| 綦江县| 会昌县| 建湖县| 佛坪县| 西充县| 桐梓县| 鄂伦春自治旗| 南阳市| 禄丰县| 耿马| 永泰县|