Full Stack Fest

Sept. 1–5 2015, Barcelona
Brought
to you by:

Agenda

Transducers FTW!

Massimiliano Mantione

@M_a_s_s_i

Over time we have seen several “utility” frameworks for dealing with Javascript data structures and processing abstractions. It all started simple with Underscode, became more functional with Lodash, evolved again with Ramda, but it got a bit messy when developers looked for a way out of callback hell (generally through promises or one of the reactive frameworks like Rx, Bacon, Highland, Kefir…).

Then the Clojure world brought us transducers. They redefine the “processing a sequence” concept encompassing the usual “map”, “reduce”, and “filter” functions, and can be applied to both synchronous and asynchronous computations.

In this talk we will see how to use them in Javascript (mostly through Underarm and their integration in Ramda), and especially how they can help you producing better code.

Transducers FTW! by Massimiliano MantioneOver time we have seen several “utility” frameworks for dealing with Javascript data structures and processing abstractions. It all started simple with [Underscode](http://underscorejs.org/), became more functional with [Lodash](https://lodash.com/), evolved again with [Ramda](http://ramdajs.com/), but it got a bit messy when developers looked for a way out of callback hell (generally through promises or one of the *reactive* frameworks like Rx, Bacon, Highland, Kefir…). Then the Clojure world brought us [transducers](http://blog.cognitect.com/blog/2014/8/6/transducers-are-coming). They redefine the “processing a sequence” concept encompassing the usual “map”, “reduce”, and “filter” functions, and can be applied to both synchronous and asynchronous computations. In this talk we will see how to use them in Javascript (mostly through [Underarm](http://simplectic.com/projects/underarm/) and their integration in [Ramda](http://ramdajs.com/)), and especially how they can help you producing better code.