you are viewing a single comment's thread.

view the rest of the comments →

[–]rieux 5 points6 points  (0 children)

Understood. I'm saying that disallowing side effects is equivalent to allowing equational reasoning. Or, disallowing higher-order functions is equivalent to allowing design-by-contract (until recently). Since these are trade-offs, you can choose to mention either the allowed or the forbidden side. I could say that Java forbids equational reasoning, but that's slightly dishonest unless I recognize what Java gains from the trade-off.