Bartosz Milewski Missing post

Jason House jason.james.house at gmail.com
Thu May 28 05:45:42 PDT 2009


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.
> > 
> 




More information about the Digitalmars-d mailing list