There are three standard evaluation strategies for the lambda calculus:
There are two variants of CBV that differ on how they behave with respect to applications:
- Left-to-right: Evaluates the function first
- Right-to-left: Evaluates the argument first
These are described in greater detail in sections 6.1 and 6.2, respectively, of [1].
What are the advantages and disadvantages of each approach?
References:
- Distilling Abstract Machines (Long Version). Beniamino Accattoli, Pablo Barenbaum, Damiano Mazza. 2014-06-09.