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

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.

主站蜘蛛池模板: 武威市| 鹤峰县| 五峰| 七台河市| 芮城县| 五大连池市| 云梦县| 宝应县| 灵川县| 建瓯市| 拜城县| 滨州市| 泉州市| 股票| 瓮安县| 武夷山市| 阿克苏市| 班戈县| 灌阳县| 新绛县| 莱阳市| 遵义县| 新田县| 五大连池市| 丁青县| 南投县| 新沂市| 台前县| 陆丰市| 剑河县| 汽车| 吉安市| 宁远县| 仁寿县| 会宁县| 湖口县| 虹口区| 长春市| 大城县| 宜兰市| 永昌县|