Chapter 1. Stop listening!
Figure 1.1. FRP is a subset of both functional and reactive programming
Figure 1.2. The flow of data in a generalized state machine
Figure 1.3. The six plagues of listeners
Figure 1.4. Simplified flight-booking example
Figure 1.5. Conceptual view of the flight-booking example
Figure 1.6. The stages of execution of an FRP program
Figure 1.7. We can express the flightbooking example as a spreadsheet.
Figure 1.8. Extracting “depends on” relationships from a conceptual diagram: reverse the data-flow arrows.
Figure 1.9. A conceptual definition is easier to grasp than a long list of detailed instructions.
Figure 1.10. A stream of code
Figure 1.11. Behind the scenes, the FRP system translates FRP statements into a directed graph of listeners.
Chapter 2. Core FRP
Figure 2.1. When you click Clear, the text you entered disappears.
Figure 2.2. Conceptual representation of the clearfield example
Figure 2.3. A label that always shows the current text of the text field
Figure 2.4. Conceptual view of the label example: STextField exports its current text, and SLabel imports it.
Figure 2.5. Using map to reverse the text in a cell
Figure 2.6. The conceptual review of the reverse example
Figure 2.7. Buttons for poking canned messages into the text field
Figure 2.8. Merging two text streams into one
Figure 2.9. Three steps in using the diagram program
Figure 2.10. The mechanics of how merge deals with simultaneous events