Crud. This was meant to go to the list. Folks, if your message is intended to be private, by all means send it just to me. Otherwise, it is very helpful if we keep the discussions on the list as much as possible.
On the BitC list, there are no dumb questions. Or at least, there are no questions dumber than some of mine, so you need not fear that you will be setting any sort of trend! Jonathan On Wed, Mar 23, 2011 at 2:27 PM, Jonathan S. Shapiro <[email protected]>wrote: > On Tue, Mar 22, 2011 at 4:34 AM, Matt Rice <[email protected]> wrote: > >> I recently had come across a post here in which they were discussing >> concurrency issues in Go, and one of the commenters mentioned >> uniqueness types... >> >> >> I honestly don't know a whole lot about them, but the idea, that you >> can restrict a reference thus that to hand it off to someone else, you >> must renounce your reference seems powerful... >> > > Uniqueness types don't seem to be widely explored outside of Clean and > Mercury. They look promising (at least to me), but we still have relatively > little experience with them in real life. Use of uniqueness types seems to > impose some of the same programming style and idiom issues that linear types > raise, and those have turned out to be too complicated for mainstream > programmers to handle. > > The "too complicated to handle" issue makes me cautious. As a result, I'm > inclined to put uniqueness types on the "we should look" list, but > definitely not on the feature list for the initial BitC language. > > >> >the notion of "not mutable via any alias" remains a powerful notion. >> >> agreed, so expanding the above, to the idea that in order to hand off, >> an mutable reference, you must renounce the mutability of your >> references... > > > That's another thing entirely. That's "not mutable via any alias but mine". > Which is *also* a useful and important case, but isn't the *same* useful > and important case. > > But in support of where you are going, I'ld add that the ability to "hand > off" the authority to mutate a graph is indeed very important in real > concurrent systems. > > > shap > >
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
