| |
| | [No title] |
 | | Lazy Evaluation We're used to eager evaluation of expressions: f(x + y, g z) (x+y) :: (g z) :: nil Arguments to function and constructor applications are evaluated to values (base types, datatypes, func- tions, etc.) before the function is entered or the con- struction is made. |
 | | Evaluating arguments can be expensive (perhaps in- finitely so), and sometimes this effort is wasted: fun g c =...very expensive... |
 | | When a value is needed, we must obtain it by forcing the expression, i.e., applying it to ():unit. |
| www.cs.pdx.edu /~apt/cs457_1997/lecture14.tty (85 words) |
|