Perhaps foo should be lazily evaluated.

Then the want would return the correct usage. Though once the value
is returned, it should stay that way on all subsequent usages until
the call stack is unwound.

<chaim>

>>>>> "DC" == Damian Conway <[EMAIL PROTECTED]> writes:

>> > Besides, context can't always tell:
>> > 
>> >    bar ( foo );
>> > 
>> > Should foo return a copy or an alias?
>> 
>> want() obviously needs an additional parameter: how deep to go
>> back in the call stack.  Which begs also for a way to find out how
>> deep is the call stack.

DC> That wouldn't help in this case, since it's a matter of whether the 
DC> programmer intended to pass by copy or alias here, and that isn't encoded
DC> *anywhere* on the call stack.


-- 
Chaim Frenkel                                        Nonlinear Knowledge, Inc.
[EMAIL PROTECTED]                                               +1-718-236-0183

Reply via email to