Sep 08, 2017: 9:30am - 1:00pm

C6: Transducers in Practice

Renzo Borgatti

Nick Ogden uSwitch

Abstract

Transducers is a powerful functional abstraction included with Clojure, a popular dialect of Lisp that runs on the JVM. They are generally faster, more reusable and composable than other functions for collection processing. This tutorial, after introducing the functional foundations, presents real-world examples and best practices. The lab at the end of each section should give you an opportunity to practice what we’ve learned.

Tutorial objectives

Attendees will work on an example project using Clojure Transducers. We'll see debugging techniques, custom transducers and how to use them in parallel on multiple cores. The tutorial is structured to enable attendees to understand transducers and use them in their project.

Target audience

This tutorial is aimed at people with basic Clojure understanding. Previous experience with a functional language is also useful but not required.

Infrastructure required

Participants should bring their laptop. The tutorial files will be distributed at the beginning of the session, including slides and labs. Please sign up mailing list clojure-workshop@googlegroups.com so that your question before or after tutorial will be answered by the tutors.

Renzo Borgatti

Renzo Borgatti is a software engineer with many years of experience. He used a variety of languages throughout his career and got interested in Clojure around 2010. He's author of "Clojure Standard Library, Annotated Reference" book by Manning and the "Clojure Pills" screencasts on YouTube. He currently works for uSwitch, an online comparison service company based in London.

Nick Ogden

Nick Ogden is a software engineer at uSwitch.com. He has more than eight years of software development experience including aeronautics, real-time video streaming, and web. Nick also has three years experience of developing commercial Clojure products. He contributes to Clojure Ring library, and he is the author of Clojure multimedia library.