Penguin
Note: You are viewing an old revision of this page. View the current version.

Strict evaluation is an approach that a ProgrammingLanguage can take to evaluating expressions. With strict evaluation the values of sub-expressions are worked out before passing them to operators, the values of parameters are worked out before passing them to functions.

Strict evaluation means you can predict the order that expressions will be evaluated in. That makes other language features like reassignable variables and a conventional I/O system practical.

If you've used a an ImperativeLanguage? like C. C++ or Java, then this is just what you are used to. It is the norm for imperative languages. ML and LISP are FunctionalLanguage?s with strict evaluation.

The other approach to evaluation is LazyEvaluation.