Functional Geekery Episode 31 – David Chambers

In this episode I talk with David Chambers. We talk about bringing Functional Programming deeper into JavaScript and leaving the attempt at Object Oriented JavaScript behind.

Our Guest, David Chambers

@davidchambers on Twitter
davidchambers on Github


This episode is sponsored by DigitalOcean. DigitalOcean makes it quick and easy to get up running with hosting your project. New users use the promo code GEEKERY to get $10 credit when signing up.

This episode is sponsored by The courses build good fundamentals and guide you to develop deep skills with the Clojure language and libraries. Listeners get a 25% discount by using the link


Code Mesh 2015 is going to take place on the 3rd and 4th of November, and listeners can use the code fngeekery10 to get 10% off when you register.

RICON 2015 will take place on the 5th and 6th of November. will be taking place on November 9th and 10th. is a two-day conference, bringing together 300 developers for an eclectic collection of talks covering the latest trends, best practices, and research in the field of computing. For more information visit

LambdaDays 2016 will be taking place on the 18th and 19th of February in Kraków, Poland. The CFP and registration has opened, so make sure to visit to find out more. And make sure to use code FunkyGeekz4dWin to get 10% off registration.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.


About David
How David got into in Functional Programming
Thinking of UI updates as a result of a function call
Atlassian and Bitbucket
Approaching Programming in the way on would simplify an algebraic expression
“JavaScript has insane notions of equality” for comparison
Ramda on GitHub
“Ramda functions curry by default” and why that is useful
“The last argument to a function should be the thing that is most likely to change”
Ramda and usage of JavaScript Types
Erik Meijer Functional Programming series on Channel9
Programming Languages Coursera course
Learn You a Haskell
Bringing Functional Programming style in JavaScript to co-workers
Importance of thinking about how to sell “new” ideas to teammates and need for context
“How am I going to empathize with my teammates?”
Moving away from Object Oriented thinking in JavaScript
Including a type signature when writing functions in Haskell style notation
How moving to Functional JavaScript has impacted testing
Creating a Functional Pipeline
Using the Either type to track validation failures
“JavaScript uses objects for two things”, dictionaries and structs
Being able to make assumptions about what is in a valid structure
Railway-Oriented Programming talk by Scott Wlaschin
Thinking, Fast and Slow by Daniel Kahneman
Ramda Gitter room
Sanctuary Gitter room

As always, a giant Thank You goes to David Belcher for the logo design.