Benefits of laziness?
Force us to think in a functional way, cannot rely on the “effect” of evaluation order.
For instance, writing the following:
f a b
We cannot say that a will be evaluated first, followed by b (imperative way of programming).
This is because a
/ b
will only be evaluated if/when f needs it.
In that way, functions are only dependent on their inputs, and we don’t have to care about the side effect of evaluation order.