Lazy Evaluation - Efficiency?
Q. Does lazy evaluation always lead to more efficient computation?
A. No. Consider the Miranda code
11*13 + 11*13 = 143 + 143 = 186
But with applicative order evaluation we would have
double 11*13 = double 143 = 143 + 143 = 186
which performs less arithmetic.
Also, lazy evaluation usually incurs extra overhead.