holyjs HolyJS 2018 Msc (24.11.2018)

There is a bluebird in my talk that wants to get out

img

Everyone talks about functional programming these days, but not many people talk about lambda calculus. In this talk, Lucas will show how you can write code using only functions, or, even better, only birds. Lucas promises your mind will be blown or he’ll give you your time back.

There is a bluebird in my talk that wants to get out, but state machines are too tough for him. This is not your usual functional programming talk. In it, you’ll learn lambda calculus itself and see how exciting it can be to derive combinators from the most elegant ideas in computability theory.

Functional programming, JavaScript, and birds. Most people like at least two of them.

In this talk, we’ll explore functional programming from a different angle. Instead of talking about functors, bifunctors, profunctors, monads, comonads and other trendy concepts we’ll take a step back and learn lambda calculus itself.

How does lambda calculus express computation? How can we represent concepts such as true or false or, even better, how can we express boolean logic? How can we do arithmetic operations without using any numbers? What about loops? These are a few of the questions we’re going to answer and we’re gonna do that with small incremental steps.

During all this process we’ll also identify some unique and exquisite creatures: birds (or combinators, as some other people call them). These are patterns that will emerge naturally from the process of rediscovering lambda calculus and are guaranteed to blow everyone’s mind by their simplicity and elegance.

Rediscovering lambda calculus feels like rediscovering math and finally understanding what is behind functional programming.

We’ll finally let our bluebird out. We won’t be too tough for him.