Adam D. Lopresto wrote:
It seems like that would be useful and common enough to write as
sub bar(;$foo is given) {
...
}
Where $foo would then take on the caller's topic unless it was explicitly
passed an argument.
While I can certainly see the utility of that, I believe it is too confusing
to have all three of:
* C<is topic> on parameters
* C<is given> on parameters
* C<is given> on subroutines
withthe two C<is given>s meaning quiet different things.
In addition, I think saying C<$param is given> doesn't convey what is actually
happening there (i.e. that $param only *defaults* to the caller's topic).
Finally, I would rather we did not have more than one syntax for specifying
default values for parameters.
I still think my original:
sub bar(; $foo = $topic) is given($topic) {...}
is the appropriate compromise.
Damian