Brent 'Dax' Royal-Gordon wrote:
IIRC, it's f) (1,2,3,4,5) >>+<< (1,2,$identity,$identity,$identity),
where $identity's value is determined by a table something like this:
In the case of &infix_circumfix_meta_operator:{'»','«'}:(List,List:&op)
there's no "upgrade"---to use the S03 term. A simple "apply &op where
the lists overlap and keep the rest of the longer one" suffices.
That is (1,2,3,4,5) >>+<< (1,2) becomes (1+1, 2+2, 3, 4, 5). For
&infix_circumfix_meta_operator:{'»','«'}:(List,Scalar:&op) the upgrade
works by applying the operator with the scalar to all entries:
(1,2,3,4,5) >>+<< 1 becomes (1+1, 2+1, 3+1, 4+1, 5+1).
What I ask myself is wether (1,2,3) »+ 1 should be a syntax error or just
a different form to express the :(List,Scalar:&) case. BTW, I know that
&infix_prefix_meta_operator:{'»'} isn't mentioned in A12.
I could be wrong, though; I can't find any support for it in the design docs.
Indeed, "upgrade" is a bit fuzzy ;)
--
TSa (Thomas Sandlaß)