1. React
  2. ReactiveConf
  3. 2015
  4. Effects as Data

Effects as Data

Richard Feldman at ReactiveConf 2015

Imagine a world without side effects, where the only way to make things happen was to call functions whose return values described what you wanted done. What gets easier in that world? What gets harder? What would that mean for debugging? Testing? We don't have to wonder about these things, because this world already exists — and it compiles to JavaScript. It's the world of Elm, where there are no side effects, all functions are stateless, and all data is immutable. Elm embraces the concepts that make reactive programming great, and goes one step further to shed the error‐prone mutations and side effects that so often lead to incidental complexity and buggy code. NoRedInk has reaped the benefits of this approach since they began using Elm in production earlier in 2015. It's helped them scale and maintain a complex front-end code base that students use to answer millions of questions per day. Come see how refreshing this world can be!