Reduction strategy

From Wikipedia, the free encyclopedia

In code optimization during the translation of computer programs into an executable form, and in mathematical reduction generally, a reduction strategy for a term rewriting system determines which reducible subterms (or reducible expressions, redexes) should be reduced (contracted) within a term; it may be the case that a term may contain multiple redexes which are disjoint from one another and that choosing to contract one redex before another may have no influence on the resulting reduced form of the term, or that the redexes in a term do overlap and that choosing to contract one of the overlapping redexes over the other may result in a different reduced form of the term. It is the choice of which redex at each step in the reduction to contract that determines the strategy chosen.

See evaluation strategy for the specific case dealing with the lambda calculus.

[edit] See also