I'm really surprised by the lack of design discussion in this thread. It's 
amazing how there can be huge bursts of discussion on which keyword to use 
(e.g. manifest constants), but then complete silence about major design 
decisions like thread safety that defines new transitive states and a bunch of 
new keywords. The description even made parallels to the (previously?) 
unpopular const architecture. 

Maybe people are waiting for Walter to go through all the hard work of 
implementing this stuff before complaining that it's crap and proclaiming 
Walter should have done in the first place? 
This seems really unfair to Walter. Then again, I see no indication of Walter 
wanting anything else.


Jason House Wrote:

> The article implies some level of flow analysis. Has Walter come around on 
> this topic?
> 
> As far as considering a variable moved, I believe the following should be 
> reasonable
> • Any if statement (or else clause) containing a move
> • Any switch statement containing a move for any case
> • Any fall-through cases where the prior case moved the variable
> • Any function call not using a lent argument for the variable
> • Moving inside a loop should be illegal
> 
> An explicit is null check should be able to bypass these rules. There are 
> probably ways to loosen the looping rule such as if there is a way to 
> guarantee the moved variable won't be read from again.
> 
> Very similar rules can be used for detecting initialization of (unique) 
> variables. A variable can be considered initialized if:
> • Both the if and else must initialize a variable
> • All cases in a switch must initialize a variable
> • Out parameter in a function call 
> • Loops can't initialize variables
>   relaxation: can init if guaranteed to run at least once
> 
> Those rules should be sufficiently simple to implement and extremely 
> tolerable for programmers.
> Inevitably, I missed a case, but I hope the idea is clear, and that whatever 
> I overlooked does not add complexity.
> 
> 
> Bartosz Milewski Wrote:
> 
> > The post is back, rewritten and with some code teasers.
> > 
> > Nick B Wrote:
> > 
> > > Hi
> > > 
> > > It seems that Bartosz's  latest post, dated April 26 th is missing from 
> > > his blog.
> > > 
> > > See :
> > > 
> > > http://bartoszmilewski.wordpress.com/
> > > 
> > > 
> > > Nick B.
> > 
> 

Reply via email to