Melvin's digital garden

Functional programming from first principles

We’ve heard a number of talks this semester on functional programming languages such as Elixir and Scala. These languages are large and complicated, which makes it difficult to understand the essence of functional programming.

Church’s Lambda Calculus is the oldest and simplest possible functional programming language. It has the following syntax:

::= a | b | … | z

::= | (<var> ) | ( )

In this talk, we will explore Church’s Lambda Calculus via a series of demos based on Tromp’s 2012 IOCCC winning entry: // An unobfuscated version of the above is available at and will be used for the demos in this talk.

Presented at Friday Hacks #93, 17th April 2015

Links to this note