> Someone mysteriously known only as "Ed" asked what the favored syntax would be
> to match negative multi-byte strings in Perl 6. It wasn't entirely clear
> what the question was, but one thing is sure: the Perl 6 pattern matching
> engine will have a lot of scope for optimisation.

Oops, sorry, just realized my mailing header info didn't contain my full name
(Ed Peschko). 

Anyways, the point was that multi-byte non-matching support was abysmal, 
and to propose a new syntax.  The fact that the best thing people could come
up with was:

(?:(?!union).)*

after a long brainstorming session of false starts and false solutions just 
points out to the fact that it could be simpler.

And I think that by making the concept of "character class" more generic 
(into a 'string class' as it were, where alternations can take 
arbitrary-length strings) matches a class of real world problems closely.
Ex: nested begin/end loops, ie 

BEGIN
        <-['BEGIN''END'>+ |
        <self>
END

as well as giving strong hints to the optimiser to do the match fast.

Ed

Reply via email to