"Don Syme" <dsyme@microsoft.com> writes:
One point is that in the absence of extensive purity annotations to imperative libraries you will need to use monads for operations that shouldn't need them. Having to add the annotations certainly counts as a complication in comparison to what many other languages have to do on .NET.
am I wrong to think that would .NET had const'ness a la C++, purity annotations wouldn't be needed? hum, not really. const methods can still modify global state (but not object state)... but at least no need to annotate non-const methods :) off topic: On the subject of const'ness, I've been messing around with it. I've been quite surprised to discover that Java&C# do not have C++'s const (Java has "final" on parameters, but it is dumb) About this: http://merd.net/inoutness.html (beware, half of it is still investigations)