Jon Lang suggested:

> Start with the addition operator, '1 + 1'.  Apply the reducing
> metaoperator to it so that it works syntactically like a function:
> '[+] 1, 1'.  Instead of calling it, pass a code reference to it:
> '&[+]'.

No. &[+] isn't the Code object for [+]; it's the Code object for &infix:<+>.

> What I'm wondering is how the list knows to feed two items into '[+]'.
>  While 'infix:<+>' must accept exactly two arguments, '[+]' can accept
> an arbitrarily long (or short) list of arguments.

And since &[+] is &infix:<+>, that's how it knows. :-)


Reply via email to