Evaluation strategy

Evaluation strategies are used by programming languages to determine two things—when to evaluate the arguments of a function call and what kind of value to pass to the function. To illustrate, a function application may evaluate the argument before evaluating the function's body and pass the ability to look up the argument's current value and modify it via assignment. The notion of reduction strategy in lambda calculus is similar but distinct. Evaluation strategy is specified by the programming language definition, and is not a function of any specific implementation.

Evaluation strategy

Evaluation strategies are used by programming languages to determine two things—when to evaluate the arguments of a function call and what kind of value to pass to the function. To illustrate, a function application may evaluate the argument before evaluating the function's body and pass the ability to look up the argument's current value and modify it via assignment. The notion of reduction strategy in lambda calculus is similar but distinct. Evaluation strategy is specified by the programming language definition, and is not a function of any specific implementation.