
9 Feb
2009
9 Feb
'09
11:17 p.m.
On 10 Feb 2009, at 5:07 pm, Gregg Reynolds wrote:
Thanks. I see the error of my ways. So, IO expressions must be evaluated if they are in the chain leading to main.
We need some standard terminology to distinguish between *evaluating* an expression and *performing* the result of an expression of type IO something. An IO expression that is passed to a function at a strict position must be evaluated whether the result is performed or not. An IO expression whose result will be performed must be evaluated before that performance can take place. (Dash it, this really is getting us into White Knight land.)