🔥

Thread (@thewizardlucas)


Today, a little bit about lambda calculus, to complement one of my favourite talks ever, this one, at HolyJS 2018: youtube.com/watch?v=rqZuNA…

A long time ago, a guy called Leibniz had a dream: he wanted to solve all problems using logic. His dream was to be able to translate all matters into a system of symbols and then have clear rules to manipulate those symbols and get to an answer.
notion image

If you would like to hear straight from Leibniz himself, this is what he said: "If controversies were to arise, there would be no more need of disputation between two philosophers than between two calculators."

"For it would suffice for them to take their pencils in their hands and to sit down at the abacus, and say to each other (and if they so wish also to a friend called to help): Let us calculate."

And for a long time, people have tried to do create formal ways of expressing computation and solving problems. Here you can see computer science at its inception.

Today, most of us already know one way of expressing computations: through the use of Turing Machines. The other way is through Lambda Calculus, introduced by Alonzo Church in the 1930s. Lambda calculus is the very basis for functional programming.

To this day, learning lambda calculus can be very helpful for one to learn functional programming properly. Not at the level of being able to write programs, but at the level of designing good programs, and understanding functional principles. stackoverflow.com/questions/1145…