Why push it through a user subroutine. Might as well make it part of the
core language.
Why add another keyword non_lazy. though it isn't an antonym, eval{}
has the right meaning and effect.
I can see the utility of having the callee specify the alacrity of the
parameter. But this would put quite a burden on the parser/runtime engine.
Package A and B both define a function foo. A->foo has non-lazy arguments
B->foo has lazy arguments. Then
$fooA = new A;
$fooB = new B;
$fooA->foo ....
$fooB->foo ....
What is a poor perl parser to do?
<chaim>
>>>>> "DC" == Damian Conway <[EMAIL PROTECTED]> writes:
DC> But, of course, lvalue subroutines give you the ability to impose the
DC> choice externally as well. If you need to pass a lazy argument to a
DC> normally non-lazy subroutine, you could just write:
DC> sub enervate (?$) : lvalue { $_[0] }
DC> And then:
DC> non_lazy( a(), enervate(b()), c() );
--
Chaim Frenkel Nonlinear Knowledge, Inc.
[EMAIL PROTECTED] +1-718-236-0183