Consider the function:
def first(x: Int, y: Int) = x
With call-by-name evaluation function call first(1, loop) evaluates to 1. However it would always reduce to itself and we would make no progress with call-by-value evaluation.
Source:
Evaluation Strategies and Termination
Login in to like
Login in to comment