Is normal order evaluation (call by name) further divided into call by value, call by reference, call by sharing, etc?

161 Views Asked by At

Consider different ways of evaluating a procedure call and its arguments. Essentials of Programming Languages says

All the parameter-passing mechanisms (natural parameter passing, call by value, call by reference) we have discussed so far are eager: they always find a value for each operand. We now turn to a very different form of parameter passing, called lazy evaluation.

What I understand about it is that:

  • In applicative order evaluation (eager evaluation), we distinguish between call by value, call by reference, call by sharing, etc.

  • In normal order evaluation (lazy evaluation, call by name), is there still similar distinction between call by value, call by reference, call by sharing, etc?

0

There are 0 best solutions below