09:15 TempIRCLogger joined
Nemokosch Hm, interesting, I'm gonna look this up 09:16
I think the agreeable behavior is much more the first one
> which means that when calling @u.push on it, it should be any(@u.push(5), @u.push(6)) 09:30
where is this written down?
lakmatiol well, `multi method push(Array:D: \value --> Array:D)` is the candidate that gets called, and `Any \value` cannot take Mu or Junction, so the call should get threaded through the junction. 09:57
> Junctions are very special objects. They fall outside the Any hierarchy, being only, as any other object, subclasses of Mu. That enables a feature for most methods: autothreading. Autothreading happens when a junction is bound to a parameter of a code object that doesn't accept values of type Junction. Instead of producing an error, the signature binding is repeated for each value of the junction.
from docs.raku.org/type/Junction 09:58
Nemokosch I see it nowhere written that the supposed behavior for arrays would be to put all elements one after the other 11:11
That's not even concurrency aware
[3]|[6] would at least make sense 11:12
Although that's arguably more an issue with using push in the first place which mutates an object 🤔 11:14
lakmatiol yeah, its probably not meant to work with mutable objects 11:59
nevertheless, it does mean that the push signature in the docs is wrong
since a method with that signature should thread through the junction
19:45 justsomeguy joined 23:08 justsomeguy left