> 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