[plt-scheme] 352.6

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Wed Sep 20 08:42:56 EDT 2006

This is not backwards compatible.

For example:

(require (planet "regexps.ss" ("dherman" "javascript.plt" 3) "syntax"))

has the error:

regexp: `*', `+', or `{...}' operand could be empty


On Tue, 19 Sep 2006 09:10:11 0800, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> MzScheme and MrEd are now version 352.6 in the SVN repository trunk.
> MzScheme's built-in regexp system now supports the usual collection of
> "Perl-compatible" features: numeric quantifiers, backreferences,
> character classes, Unicode predicates, case-insensitive mode,
> multi-line mode, lookahead, lookbehind, non-backtracking, and
> conditionals.
> Most of these have been added to the syntax of `regexp' and #rx. Adding
> numeric quantifiers, backreferences, character classes, and Unicode
> predicates, however, would change the syntax of `regexp' in
> backward-incompatible ways. Therefore, those features are accessible
> only via `pregexp' or the new #px syntax. I recommend that you use #px
> and `pregexp' from now on.
> The "pregexp.ss" library in MzLib now re-exports MzScheme's `pregexp'.
> A module can import the same identifier multiple times when it's from
> the same source, so a module that uses the `mzscheme' language can
> still require `(lib "pregexp.ss")'. The other "pregexp.ss" exports are
> mostly wrappers for `regexp-' procedures, but the wrappers convert a
> string or byte-string pattern using `pregexp' instead of `regexp'.
> Other changes:
>  * Added `regexp-match?', which returns a simple #t when the pattern
>    matches. This avoids the string allocation of `regexp-match', and it
>    is more clear than using `regexp-match-positions' to avoid
>    allocation.
>  * Improved compilation of `syntax' forms, and changed `syntax' to
>    preserve the 'paren-shape property for constructed syntax objects.
>    Also, the ".zo" form is more compact for some syntax objects.
> Matthew
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Jay McCarthy <jay at cs.brown.edu>

Posted on the users mailing list.