
10 Dec
2009
10 Dec
'09
6:43 p.m.
Sebastian Sylvan
I think laziness requires purity to make sense. Laziness implies that the order of evaluation is highly unpredictable and depends strongly on the implementation details of libraries and such
Laziness is like single-threaded concurrency.
So it's fickle. Someone adds an if statement somewhere and all of a sudden a variable gets evaluated earlier than it used to. It would be madness to write any code which depends on this unpredictable behaviour.
I'm always amazed that shared-address space multi-threaded programs work at all. -k -- If I haven't seen further, it is by standing in the footprints of giants