Lazy Evaluation and Infinite Data Structures
Q. Are there any other benefits of lazy evaluation?
A. Yes, it permits creation and manipulation of "infinite" data structures.
In Miranda, the list (1, 2, 3, ... ) is written
and can be used in expressions.
hd (tl (tl (map triple [1..]))) || returns 9
If you told Miranda to compute the length of [1..], however, it would loop indefinitely.