On Mon, Aug 22, 2005 at 10:51:25AM -0600, Eric wrote:
: Just my two cents then back to lurking. The idea of having named parameters 
: with different names than the variables ++. Otherwise your public API is 
: dependent on private variables which is a Bad Thing and the only thing that 
: realy bugged me about current named parameters in P6.
: 
: BTW why is it that just because they are defined as named they can't be used 
: positionaly as well?

Because then the named marker would be redundant with the ? marker, which
can already be supplied as named parameters, as can mandatory positionals.

: Guess you could always use your same positional to named magic for the 
: positionals. Then the programmer is expliciting defining the order in case 
: the cases they want to use ordered versus named.
: 
: multi sub seek ( $x, $y ) { seek( $:x, $:y) }:
: multi sub seek ( :x($horizontal), :y($vertical)) { ... };

Which would mean that :x() doesn't imply named-only, so we'd still need
a separate marker for that.  But that seems like the wrong default.
And you can always alias the variable at the top of the body if you're
desperate for a different name than the public interface.  Also, we'd
have to look at how these things degrade in partially specified stubs:

    sub mystery { :x($), +:y(Dog @ where Beagle) }

It looks like it could get messy.  Er, messier.

Larry

Reply via email to