An evALUation strategy under which an expression is evALUated by repeatedly evALUating its leftmost innermost redex. This means that a function' s arguments are evALUated before the function is applied. This method will not terminate if a function is given a non-terminating expression as an argument even if the function is not strict in that argument. Also known as call-by-vALUe since the vALUes of arguments are passed rather than their names. This is the evALUation strategy used by ML, Scheme, Hope and most procedural languages such as C and Pascal. See also normal order reduction, parallel reduction. (1995-01-25)