"Larry Wall" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> That is, suppose you have:
>
>     macro leach () { return "»" }
>     macro reach () { return "«" }
>
> You could unambiguosly write
>
>     leach+reach
>
> but (assuming spaces not allowed within distributed operators) you can't
> write
>
>     leacheqreach

But, presumably, you could write a macro that has a whitespace-eater encoded
somehow. That is,

macro leach() { chomp_trailing_whitespace; return "»" }
macro reach () { chomp_leading_whitespace; return "«" }

then the macro magic would expand "leach eq reach" as "»eq«" (which,
hopefully, it then re-parses as a single token^Woperator). This doesn't
solve the generalized problem of disambiguating, though I could see a "_"
operator defined as a macro that eats all its surrounding whitespace.


Dave.


Reply via email to