
5 Apr
2006
5 Apr
'06
6:03 a.m.
On Tue, 04 Apr 2006, Andy Gill
let xs' () = 1 : 2 : xs' () let xs2 = xs'
let xs = 1 : 2 : xs
So deepSeq xs2 ==> _|_, but deepSeq xs ==> xs
I appeal to the "morally correct reasoning" argument .. If the program terminates, then it is still correct.
To avoid confusion I'd like to note that this has nothing to do with the kind of moral correctness that I and some others wrote about recently. (I guess that this is the downside of choosing a phrase like that. :) -- /NAD