On Wed, 1 Dec 2010 03:22:39 -0800
Jonathan M Davis <jmdavisp...@gmx.com> wrote:

> > What would be the consequences if D had no const, only immutable (that,
> > IIUC, removes the latter non-guarantee)?  
> 
> The biggest problem would be that no function could then work on both a 
> mutable 
> and an immutable value (unless it could be copied by value). With const, you 
> can 
> pass both mutable and immutable stuff to it. Without const, any and all 
> functions 
> which would want to deal with both would have to be duplicated. That includes 
> stuff like member functions.

Right, but isn't this the main point of Unqual!? (Would unqualify immutable as 
well, no?).

> And of course, as C++ shows, there are plenty of cases where having const but 
> no 
> immutable can be quite valuable. Just the fact that you can pass an object to 
> a 
> function and know with reasonable certainty (and more certainty in D than 
> C++) 
> than that object won't be altered can be extremely valuable. Sure, many 
> languages get by without const, but I think that they're definitely worse off 
> for 
> it. And with immutable added to the mix, I think that const is that much more 
> important.

For this case, I prefere the "in" qualifier. (And imo value parameters should 
be "in" by default).
Unless I miss important use cases, seems I would be happy with "immutable" and 
"in".


denis
-- -- -- -- -- -- --
vit esse estrany ☣

spir.wikidot.com

Reply via email to