Front page | perl.perl5.porters |
Postings from December 2019
Re: Named Parameters
Thread Previous
|
Thread Next
From:
hv
Date:
December 16, 2019 12:04
Subject:
Re: Named Parameters
Message ID:
201912161154.xBGBsmP30843@crypt.org
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:
:> :Duplicate named arguments are allowed, the last value being used. This
:> :allows the useful idiom of foo(%defaults, %options) to work.
:> [...]
:> :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.
It's only a small benefit, not one worth moving the world for; but if once
we have an implementation it appears we could offer the guarantee with
no impact, it might be worth doing so.
Hugo
Thread Previous
|
Thread Next