@Charles: You'd better get him on camera! It's been far too long and if he can now talk about this stuff, it'd be interesting to see nuggets of actual code comparing C# and this new variant and how problems are solved, as well as the basic thinking behind the four qualifiers. The research note is a little dense.

If this language is what I think it is, it's not so much about managing memory as it is about managing the state of your program and the flow of your data. If the source code's actions can express object lifetimes and ownership, that opens up much better automated memory management.

Look at Automated Reference Counting for Objective-C, basically handling reference counting for you and being just slightly more difficult than garbage collection. (And you get opportunistic early cleanup and zeroing weak references for low watermarks.) And yes, I guess C++11 has some of this stuff too, that I'd like to have without losing all the rest of the conveniences that make me productive in C# and taking on the burden of a million implicit things happening as they oft do in C++.

And it's not like you don't have to worry about weak references in C# today - forget to unregister event handlers and half of your program's object tree is being kept alive by the delegate. I want this kind of stuff in the language so that it's explicit, so that the compiler can call me on it and so that it and the runtime can optimize it for me.

I'd be interested if anyone was doing this sort of thing. That Joe Duffy, Chris Brumme and more people like that have had several years to let different strategies play out against each other with large code bases to guide their decisions makes me think they have something unlike anything we've seen before. And Joe's words about open sourcing this in around the 2014 timeframe is wonderful - I was wondering if we'd ever get to see anything this group produced.