10.07.2015 Views

An Introduction to Functional Programming Through Lambda Calculus

An Introduction to Functional Programming Through Lambda Calculus

An Introduction to Functional Programming Through Lambda Calculus

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

- 36 -<strong>to</strong>:is called η reduction (eta reduction). We will use it in later chapters <strong>to</strong> simplify expressions.2.16. SummaryIn this chapter we have:• considered abstraction and its role in programming languages, and the λ calculus as a language based on pureabstraction• met the λ calculus syntax and analysed the structure of some simple expressions• met normal order β reduction and reduced some simple expressions, noting that not all reductions terminate• introduced notations for defining functions and simplifying familiar reduction sequences• seen that functions may be constructed from other functions• met functions for constructing pairs of values and selecting from them• formalised normal order β reduction in terms of substitution for free variables• met α conversion as a way of removing name clashes in expressions• met η reduction as a way of simplifying expressionsSome of these <strong>to</strong>pics are summarised below.<strong>Lambda</strong> calculus syntax ::= | | ::= non-blank character sequence ::= λ . ::= ::= ( ) ::= ::= Free variablesi) is free in .ii)iii) is free in λ.if is not and is free in . is free in ( )if is free in or is free in .

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!