Lambda Calculus Pt. 1

Lambda calculus is a language to express function application, which enables us to

It is also a source of functional programming, and consists of Syntax (grammar) and Symantics (meaing) as other languages.

Syntax

There are only 4 syntactic expressions in lambda calculus (E for expression)

But, there is ambiguous syntax in such as λx.xy since it can be parsed in either direction e.g. Rule 2, 3 and Rule 3, 2 This can resolved with disambiguation rules

Examples

Semantics

Every ID in lambda calculus is called as “variable”

Examples

How can + function be defined if abractions only accept 1 parameter? Currying

Free variable

It doesn’t appear within the body of the abstraction with a metavariable of the same name (e.g. x in λx)

See CSE 340 11-23-15 Lecture: “Lambda Calculus Pt. 1”