ValueSemantic protocol

Credit where it's due

The statement above, as I originally wrote it, hasn't been sitting right with me, so I've made a correction. I mean this: if I managed to finally write down a usable definition for ValueSemantic, it's only because of the work we did here together.

In particular

  • if @Chris_Lattner3 hadn't prodded me to start the thread, it wouldn't have happened.
  • @anandabits's post yielded the crucial insight that if value semantics was to be used for thread-safety then a large category of operations had to be considered unsafe, and that category included all the operations that expose reference semantics on types that would otherwise be considered values.
  • Everybody who engaged in the discussion provided the environment of focus and collective inquiry that I, at least, depend on for insight.

Lastly I want to thank everyone for an experience that reminded me of why I believe so strongly in collaborative open-source development.