in functions like chain will improve. But when you describe immutable and purity as a plus, are you describing the idea of its use as positive (which I agree is) or the actual use of it (which I think needs work)?
What I meant to say was that Scala wants to call itself functional to a certain extend. But as a matter of fact a language like D that doesn't claim to belong to the functional camp has better support for FP than Scala. In case I do heavy concurrent stuff immutable objects and pure functions are of enourmous help. Did some heavy concurrent stuff for some years and I can see that immutability has great value in that regards. But I wouldn't make everything immutable. Only the objects I hand over to some actor or to some parallel computation.
Yeah, the problem that in the end some C function is not const and all your const correctnes in C++ becomes void I know. Again, If I know something is happening concurrently I would take the effort to copy the data into some immutable data structure just to be on the save side that no other thread can mess around with my data.
