Beta reduction

From HaskellWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

A beta reduction (also written β reduction) is the process of calculating a result from the application of a function to an expression.

Haskell theoretical foundations

General:
Mathematics - Category theory
Research - Curry/Howard/Lambek

Lambda calculus:
Alpha conversion - Beta reduction
Eta conversion - Lambda abstraction

Other:
Recursion - Combinatory logic
Chaitin's construction - Turing machine
Relational algebra

For example, suppose we apply the function

(\x -> 2*x*x + y)

to the value 7. To calculate the result, we substitute 7 for every occurrence of x, and so the application of the function

(\x -> 2*x*x + y)(7)

is reduced to the result

2*7*7 + y

This is a beta reduction.

(Further reductions could be applied to reduce 2*7*7 to 98. Although the lambdas are not explicit, they exist hidden in the definition of (*).)

Also see Lambda calculus and the wikipedia lambda calculus article.