On Sun, Apr 13, 2008 at 09:00:08PM -0000, John M. Dlugosz wrote: : : :(:who($name), :why($reason)) := (why => $because, who => "me"); : : What do the symbols $name and $reason refer to? Are they names already in scope?
That would be the intent, yes. Mind you, it seems like something only a crazy person would want to do, but it seems to fall out of the current syntax, and we tend not to prevent things just to be mean. : "Alternately, the my declarator can also force treatment of its argument as a signature." : : That would be : : my (:who($name), :why($reason)) := (why => $because, who => "me"); : : which declares $name and $reason, and poises them for aliasing to named return values. Signatures normally are used as the beginning of functions and introduce local variables. Yes. We're trying to keep := binding and function binding as close as reasonably possible, except that "my" parameters don't default to readonly. They're more like ref parameters, I guess. Larry