Jonathan M Davis wrote:
Walter is certainly against logical constness,
I don't know of any language that provides logical constness as a feature. I know of no way to make it a statically verifiable attribute. Doing it with runtime checks is arbitrarily complex (imagine having to verify with a runtime check that one didn't change a 1Gb data structure).
D has a focus on providing features that promote verifiability of programs. As programs inevitably get more complex, I believe this is crucial (as opposed to the older technique of relying on convention).