Persistent list

Atila Neves via Digitalmars-d digitalmars-d at puremagic.com
Mon Nov 16 06:08:21 PST 2015


On Monday, 16 November 2015 at 09:42:43 UTC, Ola Fosheim Grøstad 
wrote:
> On Monday, 16 November 2015 at 09:04:33 UTC, Joseph Cassman 
> wrote:
>> [...]
>
> The D designers might want to look at Pony lang's capability 
> system, which has been proven sound. It has 6 different 
> aliasing capabilites that regulates among other things 
> transition from mutable to immutable.
>
> D is a little bit better of (if it does not allow casting away 
> const) than C++, because in C++ const is essentially "shared 
> const", whereas in D in is "local const with potential 
> aliasing". AFAIK the D sementics is that no other thread can 
> hold a mutable reference to something you have as const. But it 
> is still a relatively weak guarantee. In C you have 
> "restricted" for notifying the compiler that the resource is 
> aliasing free within the context.

You described immutable, not const. If one thread has a const 
reference, it's entirely possible another thread has a mutable 
reference.

Atila


More information about the Digitalmars-d mailing list