
14 Nov
2007
14 Nov
'07
7:32 p.m.
On Nov 14, 2007 4:27 PM, Justin Bailey
It's:
f $! x = x `seq` f x
That is, the argument to the right of $! is forced to evaluate, and then that value is passed to the function on the left. The function itself is not strictly evaluated (i.e., f x) I don't believe.
Unless you mean f -- which I still don't think would do much -- it wouldn't make sense to evaluate (f x) strictly. (x `seq` x) is equivalent to (x), for any x (including (f x)). (Right?) Shachaf