Lambda calculus is a formal notation that enables the expression of computable functions. It serves as the foundation for functional programming and is defined using the Greek letter lambda (λ). It is expressed through lambda expressions and lambda terms, which are used to represent binding variables within a function. This document aims to provide a basic introduction to the theoretical and practical aspects of lambda calculus and functional programming. For the latter, we will utilize the Racket programming language.
Conversations with Brian Kernighan, Bjarne Stroustrup, Alfred Aho, Leslie Lamport, among others. The English version can be found at the end of each interview.