Penguin
Diff: StrictEvaluation
EditPageHistoryDiffInfoLikePages

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

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

Newer page: version 6 Last edited on Sunday, March 7, 2004 9:28:02 am by AristotlePagaltzis Revert
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. 
+An 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 ImperativeProgramming used in languages like [C], [C++] or [Java] and in in "unpure" functional programming used in languages like [ML] and [LISP]. Strict evaluation 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.