Rod Adams skribis 2004-11-29  1:56 (-0600):
> Are they really common enough to merit a "two char, absolutely no 
> whitespace after it" lexical? Especially one that looks a lot like the 
> left bitshift operator, as well as an ASCII version of a Unicode quoting 
> and splitting character?
> What if instead, we add a different adverb to q// and qq//? something 
> like :h. That way people can mix and match all the quoting option they 
> want, and we remove some annoying requirements about when you can and 
> cannot have /<<\s+/ in your code.

I think this is a very good idea. I too dislike the whitespace
disambiguation thing for this, and was going to propose using unary %
instead of <<. But this is even better, IMO.

> Since < and > are now full class quote-like thingies in P6REs, much to 
> the chagrin of those of us who parse html on a regular basis, using them 
> as such in the rest of P6 makes sense as well. 

It would be great if <''> in a rule would be just ''.

    rule NotationDecl {
        <'<!NOTATION'> <S> <Name> <S> [<ExternalID> | <PublicID>] <S>? <'>'>
    }

would then just be

    rule NotationDecl {
        '<!NOTATION' <S> <Name> <S> [<ExternalID> | <PublicID>] <S>? '>'
    }

Which I find much easier to read. (Frankly, <'>'> is just too hard to
type and be parsed by a human.) It also makes all other balanced
delimiter matching rules more readable:

    rx/ \[ \w+ \] /
    
    rx/ <'['> \w+ <']'> /
    
    rx/ '[' \w+ ']' /


Juerd

Reply via email to