Call-by-value evaluation order is sometimes called "strict evaluation" because, in a sequential system, it makes functions behave as though they were strict, in the sense that evaluation of a function application cannot terminate before evaluation of the argument. Similarly, languages are called strict if they use call-by-value argument passing. Compare eager evaluation, lazy evaluation.