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)