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
	

Reply via email to