- Heroes of Computer Science
- Posts
- Issue #3 - Alonzo Church
Issue #3 - Alonzo Church
Welcome to the 3rd issue of Heroes of Computer Science!
I hope you enjoyed the previous edition of this newsletter; this issue will be shorter but it’s definitely about a denser topic.
Alonzo Church
Mathematician and logician Alonzo Church worked extensively on several theorems and thesis, but he is best known for having created the lambda calculus (also written as λ-calculus).
Introduced in the 1930s, lambda calculus is a formal system (a set of rules that allow you to infer theorems from axioms/premisses) for expressing ways of solving problems based on function abstraction and application. It’s a universal model of computation that can be used to simulate any Turing machine — this has several implications, but one of the most interesting ones is that you can develop whole programming languages around this concept.
In its simplest form, you build terms using only the following rules:
Variables: characters or strings that represent a parameter or value
Abstractions: basically function definitions, where you bind a variable to an expression
Applications: applying a function to an argument
This might sound quite theoretical or abstract, but the most interesting point is that the LISP programming language and functional programming languages in general were heavily influenced by Church’s work on lambda calculus.
Further reading
I’ve only scratched the surface by trying to ELI5 (Explain Like I'm 5) what is lambda calculus, so if you want to learn more about it, Learn X in Y minutes Where X=Lambda Calculus is a good place to start. If you’re already familiar with it and want to just drown in mathematical notations, Cornell University’s got your back.