[erlang-questions] Erlang/OTP R12B-3 has been released
Richard A. O'Keefe
ok@REDACTED
Mon Jun 16 02:03:15 CEST 2008
The README for OTP R12B-3 has says, amongst good stuff:
OTP-7181 An experimental module "re" is added to the emulator
which interfacesa publicly available regular expression library
for Perl-like regular expressions (PCRE). The interface is purely
experimental and *will* be subject to change.
One way I hope that it will change is that it won't be PCRE.
There are two major problems with Perl regular expressions:
(A) the design is so bloated that it is extraordinarily hard for
people to master them. This is in marked contrast to the
wise restraint of POSIX "Extended Regular Expressions".
(B) the design is so bloated that they completely miss the whole
point of using regular expressions in the first place, which
is LINEAR-TIME MATCHING. True, there are some cases where
Perl (and PCRE) take exponential time when they could take
linear time, but I'm not talking about accidents of the
implementation. The design-by-elephantiasis approach has
resulted in a matching language which is provably intractable.
One of the reasons for (A) is that it is very hard for anyone not
intimately familiar with the Perl or PCRE implementation to tell
which patterns will be matched efficiently and which will not.
There are free implementations of Posix EREs out there that do
guarantee matching linear in the amount of data matched, so any
RE library for Erlang built on top of C should use such a library
whenever possible, falling back on PCRE only when absolutely
necessary.
This has been discussed at length in this mailing list before.
More information about the erlang-questions
mailing list