Penguin
Diff: StrictEvaluation
EditPageHistoryDiffInfoLikePages

Differences between current version and predecessor to the previous major change of StrictEvaluation.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 7 Last edited on Sunday, March 7, 2004 9:36:53 am by AristotlePagaltzis
Older page: version 3 Last edited on Sunday, February 16, 2003 5:32:45 pm by GlynWebster Revert
@@ -1,8 +1,5 @@
-''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. 
+StrictEvaluation is the traditional approach to evaluating expressions in a ProgrammingLanguage . It means that the values of sub-expressions are worked out before passing them to operators, and that 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. 
+This is the norm in imperative programming used in [ProgrammingLanguage]s like [C], [C++] or [Java] and in in "unpure" functional programming used in languages like [ML] and [LISP]. StrictEvaluation means you can predict the order that expressions will be evaluated in, so other language features like reassignable variables and a conventional I/O system become 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. 
+Contrast LazyEvaluation.