State is hell when working with asynchronous code. Trying to deal with realtime data and user interaction with callback after callback after callback quickly leads to madness. Any callback, called at any time, can modify application state making code complex and hard to reason about.

Functional reactive programming is a powerful concept borrowed from Haskell that makes dealing with asynchonous code much easier (and fun!) to work with. Callbacks are replaced with event streams which can be mapped, merged, filtered and more, without having to manually maintain state! Bacon.js (github.com/raimohanska/bacon.js) by Juha Paananen is a lovely little library that implements FRP in JavaScript.

I'll introduce both FRP and Bacon - and with visualisations and examples show just how tasty Bacon is for working with asynchronous code.

Loading more stuff…

Hmm…it looks like things are taking a while to load. Try again?

Loading videos…