Call By Value vs. Call By Name Evaluation
Mostly all programming languages follow two primary ways of evaluating function calls.
Call by Value / Eager evaluation
Call by Name / Lazy Evaluation
Both evaluating strategies reduce to the same final value as long as the following hold true ::...