Copyright
Brief Table of Contents
Table of Contents
Foreword
Preface
Acknowledgments
About this Book
About the Cover
Chapter 1. Stop listening!
1.1. Project, meet complexity wall
1.2. What is functional reactive programming?
1.2.1. A stricter definition
1.2.2. Introducing Sodium
1.3. Where does FRP fit in? The lay of the land
1.4. Interactive applications: what are events?
1.5. State machines are hard to reason about
1.6. Interactive applications without the bugs
1.7. Listeners are a mainstay of event handling, but ...
1.8. Banishing the six plagues of listeners
1.9. Why not just fix listeners?
1.10. “Have you tried restarting it?” or why state is problematic
1.11. The benefit of FRP: dealing with complexity
1.12. How does FRP work?
1.12.1. Life cycle of an FRP program
1.13. Paradigm shift
1.13.1. Paradigm
1.13.2. Paradigm shift
1.14. Thinking in terms of dependency
1.15. Thinking declaratively: what the program is, not what it does
1.16. Conceptual vs. operational understanding of FRP
1.16.1. Opening your mind to FRP
1.16.2. What’s really going on when the code runs?
1.17. Applying functional programming to event-based code
1.18. Summary
Chapter 2. Core FRP
2.1. The Stream type: a stream of events
2.2. The map primitive: transforming a value
2.2.1. Transforming a stream
2.3. The components of an FRP system
2.3.1. Combining primitives
2.3.2. Separating I/O from logic