For the records: TimToady++ today explained the underlying problem (final * 
NYI):

< bartolin> I've got a question about zip: S03 says "By default the zip 
function reads to the end of the shortest list, but a short list may always be 
            extended arbitrarily by putting * after the final value, which 
replicates the final value as many times as necessary."
< bartolin> what is the expected result of '(1, 2, *) Z (1, 2, 3, *)'? is it 
'(1, 1), (2, 2), (2, 3)' or rather an infinite list '(1, 1), (2, 2), (2, 3), 
(2, 3), ...'?
< bartolin> some tests in S03-metaops/zip.t seem to suggest the latter.
< TimToady> bartolin: final * is not implemented
< bartolin> TimToady: yes, but I'm trying to implement it ;-)
< TimToady> well, 1,2,* should be 1, 2 xx *
< TimToady> but the tricky bit is implementing @list, *
< TimToady> you can't just assume you have the value to xx at compile time
< bartolin> I see. it's probably above my skills, but I was curios anyway ;-)
< TimToady> it's probably not worth thinking about until after the GLR
< TimToady> and it might be the wrong notation anyway
< TimToady> plus, you can always say @array, {$_} ... * currently
< TimToady> m: say 1,2,3, {$_} ... *
<+camelia> rakudo-moar 4d2710: OUTPUT«1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 
            3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 
3 3 3 3 3 3 3 3 3 ...␤»
< TimToady> maybe it should just be a method: (1,2,3).extend
< TimToady> or some such
< bartolin> ok, thanks for explaining! I think I'll leave it as it is ;-)

Reply via email to