On Wed, 4 May 2005, Larry Wall wrote:
> It would be nice to have an easy-to-access "What's this?" interface
> that could be stitched into your favorite editor to identify what's
> under the cursor, or at least a command like:
>
>     p6explain '[+]'

That would make me extremely happy.

> :    $sum = [+] @array;                       # meta operator

Another random thought which came to me (right after "\\+" could be
mnemonic for "return a function ref for this operator") was this:

How does [+] know you mean

   reduce &infix:<+>, @array;

instead of

   reduce &prefix:<+>, @array;

which is nonsense, but the [+] is in a prefix position.

With the hyper metaoperator, the real operator is always in the place
where it would normally be parsed.  But this metaoperator pulls the real
operator out of its usual pre/in/post position.

I suppose users will need to know the answer when they start trying to
write their own metaoperators.

Maybe the metaoperator's function signature resolves that somehow?
But I haven't been following the function signature thread closely.

I can see how to ask for a binary (hence infix) operator, but how do I ask
for a prefix or postfix operator specifically, which +<< and >>+ do?
Maybe there are Operator::Prefix, etc, roles defined so you can ask for
them?

~ John Williams


A06 typo:

>    infix:+( prefix:-($a), $b)
>
> [Update: That's now
>
>    infix:<+>( prefix:-($a), $b)
>
> .]

The correction only corrected one of the errors:

   infix:<+>( prefix:<->($a), $b)





Reply via email to