How are lazy evaluation and shortcircuit evaluation relatedS

How are lazy evaluation and short-circuit evaluation related?

Solution

In case of lazy evaluation an expression is evaluated only when it is needed, while in case of short-circuit evaluation expression evaluation stops right after you know the result. It\'s sort of orthogonal notions.

Lazy evaluation can be applied to any computation (short-circuit scheme usually is used only with bools). It doesn\'t cut-off useless computation, but delays the whole computation until its result is required.

variable = bigAndSlowFunc() or evenSlowerFnc()

if (carry out heavy computations)

print \"Here it is: \", variable

else

print \"As you wish :-)\"

If evaluation is lazy, variable will be computed only if we choose to go into the first (then) branch of if, otherwise it won\'t. At the evaluation stage (when we prepare arguments for print) short-circuit scheme can be used to decide if we need to call evenSlowerFnc.

So in your example, it\'s short-circuit evaluation since no delay of computation happen

How are lazy evaluation and short-circuit evaluation related?SolutionIn case of lazy evaluation an expression is evaluated only when it is needed, while in case

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site