Const template

Bill Baxter dnewsgroup at billbaxter.com
Sun Jan 21 18:11:28 PST 2007


Andrei Alexandrescu (See Website For Email) wrote:
> Bill Baxter wrote:
>> Andrei Alexandrescu (See Website For Email) wrote:
>>
>>> A template can't detect lazy properly. It's unclear what it means to 
>>> assign to a lazy parameter. Lazy is a storage class that changes the 
>>> access syntax. I believe lazy is ill-designed. Walter should have 
>>> stood the pressure and refuse to implement it without a clear 
>>> definition.
>>
>> Well, the pressure, if any, was from you, the way I recall it.  There 
>> wasn't any kind of community upswell around that one.  The way I 
>> remember it was that 'lazy' just suddenly appeared out of the blue in 
>> D 0.165 (http://www.digitalmars.com/d/changelog.html#new0165 -- the 
>> 'expressions to delegates' bit), with Walter saying essentially "this 
>> is going to change the game, trust me! Andrei convinced me!"
>>
>> But maybe I'm remembering it wrong.
>>
>> Either way, pressure is pressure, and perhaps Walter should have 
>> withstood it regardless of where it was coming from... I just don't 
>> think you can pin any ill results in this case on "the community".
>>
>> Just trying to set the record straight here. :-)
> 
> The feature I suggested was conversion from expression to delegate, 
> which has a couple of problems, but nothing earth-shattering. Then 
> somehow lazy materialized as a storage class out of the blue, but with 
> the delegate syntax upon use, which is not a horse nor a donkey.
> 
> Walter and I have worked carefully through inout, lazy, and const today 
> and managed to figure a semantics that makes sense for all storage 
> classes and combinations thereof. (The () use syntax of lazy will go away.)
> 
> 
> Andrei

Great.  Sounds promising.  Looking forward to hearing the details.

--bb



More information about the Digitalmars-d mailing list