Penguin
Diff: StrictEvaluation
EditPageHistoryDiffInfoLikePages

Differences between version 2 and previous revision of StrictEvaluation.

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

Newer page: version 2 Last edited on Sunday, February 16, 2003 5:12:30 pm by GlynWebster Revert
Older page: version 1 Last edited on Sunday, February 16, 2003 5:05:39 pm by GlynWebster Revert
@@ -1,11 +1,8 @@
-  
- ''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 arguments are worked out before passing them to functions. 
+''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 fetures like reassignable variables and a conventional I/O system practical. 
+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] or [Java], then this is just what you are used to. 
+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 FunctionalLanguages with strict evaluation
  
 The other approach to evaluation is LazyEvaluation. 
-  
-A functions is passed whole expressions as parameters and do not evaluate them until it need their values. (I won't go into __why__ you'd want that, but there are good reasons.) [Haskell]'s main semantic difference from ML is that is it is lazy. (If you enjoyed Haskell programming at WaikatoUniversity but because exasperated with "monads" and working out convoluted ways to make your programs preserve state, ML may be the thing for you.)''