Front page | perl.perl5.porters |
Postings from December 2019
Re: Named Parameters
From:
Rocco Caputo
Date:
December 16, 2019 16:23
Subject:
Re: Named Parameters
Message ID:
F6BCB930-2E1A-47AE-993C-4DFA4ADB3436@pobox.com
On Dec 16, 2019, at 06:54, hv@crypt.org wrote:
>
> Dave Mitchell <davem@iabyn.com> wrote:
> :On Fri, Nov 29, 2019 at 04:44:24PM +0000, hv@crypt.org wrote:
> :> Dave Mitchell <davem@iabyn.com> wrote:
> :> :Note that for duplicate arguments, only the right-most value is likely to
> :> :evaluated; for example foo(name => $tied1, name => $tied2) would likely
> :> :only call (tied $tied2)->FETCH(), although we don't guarantee this.
> :>
> :> Such a guarantee would be useful for the foo(%defaults, %options) idiom.
> :
> :That's not obvious to me, Could you expand upon it?
>
> %defaults could include values that are expensive to evaluate (eg via tie);
> a guarantee that they would not be evaluated unnecessarily would make that
> a reasonable thing to do. Failing such a guarantee one would probably choose
> instead to write extra code at each calling site to check manually whether
> the default is needed.
Would this guarantee also apply to %foo = (%defaults, %options)
If not, how would the difference be explained?
--
Rocco Caputo <rcaputo@pobox.com>