Hi, Juerd wrote: > Ingo Blechschmidt skribis 2005-10-10 19:36 (+0200): >> my @array = (42, "hi", (a => 23)); > > It is worth pointing out that the inner parens here are merely for > grouping: this information is lost afterwards, hence this: > >> foo [EMAIL PROTECTED]; # same as > > shouldn't be > >> foo 42, "hi", (a => 23); # three positional params (Int, Str, >> Pair) > > but instead > > foo 42, "hi", a => 23 # two positional args, one named. > > OR pairs need to remember whether they were originally in parens. This > is very doable, but whether we want or need it is very arguable.
Luckily, this is not needed, see my response to Dave [1]: Because named arguments are purely syntactic (i.e., they are not objects or some other kind of data type), you can't stuff them into an array (or a scalar, for that matter). # (assuming => binds thighter than =) my $scalar = a => 1; # sugar for my $scalar = (a => 1); my @array = (42, a => 1); # sugar for my @array = (42, (a => 1)); Named arguments can -- under the proposal -- only ever exist in calls. --Ingo [1] http://www.nntp.perl.org/group/perl.perl6.language/23438