On 15 November 2012 17:17, Andrei Alexandrescu < seewebsiteforem...@erdani.org> wrote:
> On 11/15/12 1:08 AM, Manu wrote: > >> On 14 November 2012 19:54, Andrei Alexandrescu >> <seewebsiteforem...@erdani.org >> <mailto:SeeWebsiteForEmail@**erdani.org<seewebsiteforem...@erdani.org> >> >> >> >> wrote: >> Yah, the whole point here is that we need something IN THE LANGUAGE >> DEFINITION about atomicLoad and atomicStore. NOT IN THE >> IMPLEMENTATION. >> >> THIS IS VERY IMPORTANT. >> >> >> I won't outright disagree, but this seems VERY dangerous to me. >> >> You need to carefully study all popular architectures, and consider that >> if the language is made to depend on these primitives, and the >> architecture doesn't support it, or support that particular style of >> implementation (fairly likely), than D will become incompatible with a >> huge number of architectures on that day. >> > > All contemporary languages that are serious about concurrency support > atomic primitives one way or another. We must too. There's no two ways > about it. > I can't resist... D may be serious about the *idea* of concurrency, but it clearly isn't serious about concurrency yet. shared is a prime example of that. We do support atomic primitives 'one way or another'; there are intrinsics on all compilers. Libraries can use them. Again, this thread seemed to be about urgent action... D needs a LOT of work on it's concurrency model, but something of an urgent fix to make a key language feature more useful needs to leverage what's there now.