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.

- 37 -Bound variablesi) is bound in λ.if is or is bound in .ii) is bound in ( )if is bound in or is bound in .Normal order β reductionFor ( )i) normal order β reduce <strong>to</strong> ii)if is λ.then replace all free occurences of in with and normal order β reduce the new oriii)if is not a functionthen normal order β reduce <strong>to</strong> and return ( )Normal order reduction notationDefinitions=> - normal order β reduction=> ... => - multiple normal order β reductiondef = Replace all subsequent occurences of with before evaluation.Replacement notation== - defined name replacementα conversionTo rename as in λ.if is not free in λ.then replace all free occurences of in with and replace in λ.η reduction(λ.( ) ) =>

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

Saved successfully!

Ooh no, something went wrong!