Functional Programming and Curry Cooking in JavaScript

11:15am–11:45am Tuesday, 04/21/2015
Pure Code and JavaScript
Location: Salon 8
Average rating: **...
(2.56, 9 ratings)
Slides:   1-PDF 

THIS SESSION HAS REQUIREMENTS AND INSTRUCTIONS LISTED BELOW

Are you interested in learning about functional programming? Do you feel that you have problems structuring your code? Are you reaching the limits of abstraction when programming in JavaScript? Do you sometimes find yourself lost in a forest of callbacks?
In this talk we explore functional programming concepts, which help us create powerful abstractions to master complex problems and create more simple and elegant programs.

The widely used multi-paradigm language JavaScript allows us to ease into the functional programming style, letting us focus just on the new concepts, without the distraction of learning a specific functional programming language at the same time.

To make the dry functional programming concepts more digestible, we use cooking as an analogy.
And since the logician Haskell Curry invented functional programming and even has a function with his name, we combine our journey in JavaScript with examples and recipes for tasty curry dishes.
So even if you get stuck on concepts like higher order functions, continuation passing style or monads, you will at least not go home hungry.

This talk will cover a collection of our favorite parts of functional programming, starting from anonymous functions and closures, via recursion and higher order functions, map, reduce and filter, to more advanced concepts like monads and continuation passing style.

Links to the curry book (in German):

SESSION REQUIREMENTS AND INSTRUCTIONS FOR ATTENDEES

Basic familiarity with JavaScript syntax or a similar language, and procedural programming concepts. We will explore functional programming concepts based on the familiar language JavaScript.

Photo of Stefanie Schirmer

Stefanie Schirmer

Etsy

Stefanie Schirmer is a Software Engineer at Etsy and an alumna of Hacker School in New York.

She studied Applied Computer Science in the Natural Sciences in Bielefeld, Germany, where she developed a type checker for a compiler of a DSL for dynamic programming. In her following PhD project she developed metrics for the structure comparison of RNA molecules using forests which represent the molecule structure. Working as a postdoc at Université de Montréal, she found her way to Hacker School and Etsy.

Together with Hannes Mehnert and Jens Ohlig she wrote a book on functional programming in JavaScript and curry cooking (Das Curry-Buch, O’Reilly Germany), which is currently being translated into English.