This is one of my favourite talks ever. This talk is a longer version of the talk I have presented at JSConf Colombia a week before.

In it, I show people how we can use only functions to write any program that has ever been written or that will ever be written. Yes, that’s precisely it — no conditionals, no strings, no numbers, no bit manipulation. Nothing but pure functions.

As I’ve explained in the talk, such an endeavour has been presented before. However, what I wanted with this talk is to take it one step further: do everything in small digestible steps in JavaScript and then explain what combinators are and how we can use them to replace all of the functions we’ve written. In the end, I go even further and show that you can also replace all code with only two combinators.

If you want to go straight to the live-coding part you can skip to 8:20.