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

Reply via email to