On Sat Aug 29 03:18:43 2015, coke wrote:
> On Thu Aug 21 13:12:32 2014, coke wrote:
> > On Thu Jun 07 13:07:46 2012, kristofbogae...@gmail.com wrote:
> > > p6: sub s_s(*%n)  { %n>>.say }; s_s(|{:assoc<list>}, :assoc<left>);
> > > #
> > > which one is correct?
> > > rakudo e75a0a: OUTPUT«duplicate named argument in call␤  in block
> > > <anon> at /tmp/ohG08nWXj0:1␤␤»
> > > niecza v18-6-ge52d6c3: OUTPUT«left␤» 21:54:05
> > >
> > > p6: sub s_s(*%n)  { %n>>.say }; s_s(:assoc<list>, :assoc<left>);
> > > rakudo e75a0a, niecza v18-6-ge52d6c3: OUTPUT«left␤»
> > >
> > > jnthn:
> > > Rakudo has inconsistent behavior in that areas.
> > > For non-flattened nameds it filters out the dupes
> > > Flattened ones it can't do that, and Parrot barfs on dupe named
> > > args.
> >
> > 16:11 < [Coke]> p6: sub s_s(*%n)  { %n>>.say }; s_s(|{:assoc<list>},
> >                 :assoc<left>);
> > 16:11 <+camelia> rakudo-jvm bc6a32: OUTPUT«(timeout)»
> > 16:11 <+camelia> ..niecza v24-109-g48a8de3: OUTPUT«left␤»
> > 16:11 <+camelia> ..rakudo-parrot bc6a32: OUTPUT«duplicate named
> > argument in
> >                  call␤  in block  at /tmp/tmpfile:1␤␤»
> > 16:11 <+camelia> ..rakudo-moar bc6a32: OUTPUT«list␤»
> > 16:12 < [Coke]> ... wow, it's getting worse.
> 
> Looks better, but I think we need jvm & moar to agree here.
> 
> 06:12 < [Coke]> r: sub s_s(*%n)  { %n>>.say };
> s_s(|{:assoc<list>},:assoc<left>);
> 06:12 < GLRelia> rakudo-moar 05ce1e: OUTPUT«list␤»
> 06:12 <+camelia> rakudo-jvm 5fb81f: OUTPUT«left␤»
> 06:12 <+camelia> ..rakudo-moar 5fb81f: OUTPUT«list␤»
> 
> 06:16 < [Coke]> when flattening duplicate named args, does the one
> that gets picked matter?
> 06:17 < moritz> [Coke]: iirc the last one wins

Fixed now:

$ perl6-m -e "sub s_s(*%n) { %n>>.say }; s_s(|{:assoc<list>},:assoc<left>);" 
left

Tests in S06-signature/named-parameters.t.

/jnthn

Reply via email to