On Tuesday, 13 October 2015 at 13:02:43 UTC, Ola Fosheim Grøstad
wrote:
That said, if you have:
1. writer-ownership as a feature
2. mark variables as "only writable by one owner"
Then the compiler can drop some read locks for the _owning_
thread.
But D does not have ownership as a feature beyond "thread local
memory"?
I think the D designers should take a long and hard look at Pony:
isolated: deny global read/write, deny local read/write
transition: deny global read/write, deny local write
reference: deny global read/write
value: deny global write, deny local write
box: deny global write aliases
tag: allow all aliases
_loosely_ translated:
isolated: void*
transition: const T*
reference: T*
value: immutable T*
box: globally as shared const T*, locally as shared T*
tag: shared T*
So D lacks some way to express the "box" type?