Preface

 

This book was born of frustration. We were each involved in a large project with a lot of event-based logic. Petty problems regularly turned into long days of debugging.

Anthony joined a team working on a complex configuration GUI full of plumbing that was replicated over and over. He decided to tidy this up by shifting all the logic to a single abstraction called PublishedScalar. This was a revolutionary change.

Stephen was working on embedded development for vehicle telematics, and the challenges kept coming. He started fantasizing about a career change to truck driving but instead found new approaches in functional programming.

A lot of leading-edge work goes on quietly in the Haskell programming language community. Stephen found a gem called functional reactive programming. He later worked with Ryan Trinkle on a video game project; they decided to use FRP but weren’t happy with any of the existing implementations. Using FRP is great, but implementing an FRP system turned out to be more challenging than expected.

Stephen’s fifth attempt at FRP became the Sodium project, and Ryan went on to develop Reflex. Since that time, Stephen has been using FRP every day on the telematics project, now in its tenth year.

Stephen and Anthony regularly compared notes and strategized about sharing this great discovery with the world. Manning picked up the signal, and this book was born.

sitemap