regexp and valid-sre?
Michael Montague
(26 Nov 2013 03:34 UTC)
|
Re: regexp and valid-sre?
Alex Shinn
(26 Nov 2013 12:44 UTC)
|
Re: regexp and valid-sre?
Peter Bex
(26 Nov 2013 14:25 UTC)
|
Re: regexp and valid-sre? Michael Montague (26 Nov 2013 18:00 UTC)
|
Re: regexp and valid-sre?
Peter Bex
(26 Nov 2013 18:21 UTC)
|
Re: regexp and valid-sre?
Michael Montague
(26 Nov 2013 19:09 UTC)
|
Re: regexp and valid-sre?
John Cowan
(26 Nov 2013 18:24 UTC)
|
Re: regexp and valid-sre?
Michael Montague
(26 Nov 2013 19:17 UTC)
|
Re: regexp and valid-sre?
Peter Bex
(26 Nov 2013 19:23 UTC)
|
Re: regexp and valid-sre?
Kevin Wortman
(26 Nov 2013 19:52 UTC)
|
Re: regexp and valid-sre?
Michael Montague
(26 Nov 2013 19:59 UTC)
|
Re: regexp and valid-sre?
Kevin Wortman
(27 Nov 2013 23:33 UTC)
|
Re: regexp and valid-sre?
John Cowan
(27 Nov 2013 23:42 UTC)
|
Re: regexp and valid-sre?
Arthur A. Gleckler
(30 Nov 2013 14:55 UTC)
|
Re: regexp and valid-sre?
Michael Montague
(26 Nov 2013 18:02 UTC)
|
Re: regexp and valid-sre?
John Cowan
(26 Nov 2013 18:19 UTC)
|
Re: regexp and valid-sre?
Michael Montague
(26 Nov 2013 19:11 UTC)
|
On 11/26/2013 6:17 AM, Peter Bex wrote: > On Tue, Nov 26, 2013 at 09:44:27PM +0900, Alex Shinn wrote: >> On Tue, Nov 26, 2013 at 12:34 PM, Michael Montague <xxxxxx@gmail.com>wrote: >> >>> Why can the procedure 'regexp' be called with an already compiled <re> >>> which is just returned? > Convenience, I'd say. That way you can create modules which have an > interface that accepts either SREs or regexp objects (like irregex does), > having it automatically compile SREs. > >>> Why is the procedure 'valid-sre?' necessary? You could just call 'regexp' >>> and use 'guard' to check for any errors. >>> >> Indeed, in fact `valid-sre?' could be defined as: >> >> (define (valid-sre? x) >> (guard (else (exn #f)) (regexp x))) >> >> Whether you want to test in advance or catch errors >> after the fact is a matter of personal style. > And in some implementations compiling might be a lot more expensive than > simply checking, and if you're just providing on-the-fly feedback to a > user while building a regex dynamically (for example), it might be better > or more efficient to use valid-sre? instead of compiling. > > I'm sure that in Irregex at least the DFA compilation is much more > expensive for complex regexes than a simple "is it valid"-type check > would be. I don't think that these are strong arguments for having 'valid-sre?'. An implementation for which compiling is expensive, could easily internally do the "is it valid"-type check before compiling. Having it in the interface adds no functionality that is not already easily available. I propose dropping 'valid-sre?'.