|
|
|
|
|
by andreasvc
4606 days ago
|
|
Well, the Boolean operators in C-like languages are NOT normal functions, which is the point. Furthermore, what is strict about them is the order in which their operands are evaluated, which is a different aspect than the one you mention: whether all arguments are evaluated before considering the function. Consider e.g., notUnderAttack() || enableDoomsdayDevice(). A lazy language is free to decide that it's more optimal to evaluate the second operand first. |
|
This seems like a good example of why purity seems to be really beneficial to lazy evaluation.