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