DIP 1024--Shared Atomics--Community Review Round 1

Nicholas Wilson iamthewilsonator at hotmail.com
Tue Oct 1 13:27:09 UTC 2019


On Tuesday, 1 October 2019 at 10:40:52 UTC, Mike Parker wrote:
> This is the feedback thread for the first round of Community 
> Review for DIP 1024, "Shared Atomics":

Section "Alternatives" should be properly referenced as it makes 
unsubstantiated claims.(Also the references are not linked to 
from the main document).

The linked implementation (which is already merged(!)) appears to 
bear no correlation to the DIP, which appears to suffer a severe 
identity crisis, and as such completely fails the vengeful-ex 
principle:

> This change will require using core.atomic or equivalent 
> functions to read and write to shared memory objects. It will 
> prevent unintended, inadvertent non-use of atomic access.
> ...
> By prohibiting direct access to shared data, the user will be 
> required to use core.atomic and to consider the correctness of 
> their code.

> [The DIP is] just replacing calls to core.atomic with language 
> support...
> This is not pioneering new ground. The only innovation is 
> support by the language type system rather than library calls.
> x=1; // atomic store, release, happens after everything above

So which one is it?
If it is the first, all the references to apparent automatic 
rewriting should be dropped.
If it is the second, I fail to see why this is semantically any 
different to what C++ does with atomic<int>, which the DIP makes 
the claim is controversial.


More information about the Digitalmars-d mailing list