english names for symbolic SREs
Alex Shinn
(26 Nov 2013 13:01 UTC)
|
||
Re: english names for symbolic SREs
John Cowan
(26 Nov 2013 15:20 UTC)
|
||
Re: english names for symbolic SREs
Arthur A. Gleckler
(26 Nov 2013 16:22 UTC)
|
||
Re: english names for symbolic SREs
Michael Montague
(26 Nov 2013 17:47 UTC)
|
||
Re: english names for symbolic SREs
John Cowan
(26 Nov 2013 18:28 UTC)
|
||
Re: english names for symbolic SREs
Michael Montague
(26 Nov 2013 21:13 UTC)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
(missing)
|
||
Re: english names for symbolic SREs
John Cowan
(27 Nov 2013 22:05 UTC)
|
||
Re: english names for symbolic SREs
Alex Shinn
(27 Nov 2013 22:32 UTC)
|
||
Re: english names for symbolic SREs
Kevin Wortman
(27 Nov 2013 23:33 UTC)
|
||
Re: english names for symbolic SREs
Alex Shinn
(28 Nov 2013 00:22 UTC)
|
||
Re: english names for symbolic SREs
John Cowan
(28 Nov 2013 01:46 UTC)
|
||
Re: english names for symbolic SREs
Alex Shinn
(28 Nov 2013 04:02 UTC)
|
||
Re: english names for symbolic SREs
Kevin Wortman
(29 Nov 2013 23:13 UTC)
|
||
Re: english names for symbolic SREs
John Cowan
(27 Nov 2013 23:44 UTC)
|
||
Re: english names for symbolic SREs
Arthur A. Gleckler
(28 Nov 2013 00:26 UTC)
|
||
Re: english names for symbolic SREs
John David Stone
(30 Nov 2013 14:56 UTC)
|
||
Re: english names for symbolic SREs Michael Montague (30 Nov 2013 14:56 UTC)
|
||
Re: english names for symbolic SREs
Alex Shinn
(30 Nov 2013 23:26 UTC)
|
||
Re: english names for symbolic SREs
Michael Montague
(01 Dec 2013 15:37 UTC)
|
||
Re: english names for symbolic SREs
Alex Shinn
(02 Dec 2013 00:33 UTC)
|
||
Re: english names for symbolic SREs
Michael Montague
(02 Dec 2013 17:51 UTC)
|
||
Re: english names for symbolic SREs
John Cowan
(02 Dec 2013 18:28 UTC)
|
||
Re: english names for symbolic SREs
Michael Montague
(02 Dec 2013 19:10 UTC)
|
||
Re: english names for symbolic SREs
Peter Bex
(26 Nov 2013 21:30 UTC)
|
||
Re: english names for symbolic SREs
Michael Montague
(30 Nov 2013 14:56 UTC)
|
||
Re: english names for symbolic SREs
Michael Montague
(28 Nov 2013 15:35 UTC)
|
||
Re: english names for symbolic SREs
Alex Shinn
(29 Nov 2013 23:29 UTC)
|
On 11/27/2013 7:37 AM, John Cowan wrote: > Alex Shinn scripsit: > >> It was John who insisted that the names be added, and John >> who came up with most of the new names, so I'm assuming >> he genuinely wants them. > I do, though I didn't come up with the idea and in fact was initially > against having more than one way to do it, but you convinced me otherwise. > I think the long names are more self-documenting, more Schemey, and > will make SREs more accessible to people who find string REs an > abomination of the outer darkness. Hypothetically, lets say that this SRFI specifies a new regular expression syntax called NRE. It should be straightforward to transform SREs into NREs. The existing SRE implementations (IrRegex and SCSH) can provide a procedure sre->nre which people with existing SREs can use and their code is not gratuitously left behind. The problem with providing both short names and long names is that when I write SREs I can just use the long names, but when I read other peoples SREs, then I potentially still need to know both. SREs not only take the existing short names from PCREs, but they added more. (: <sre1> <sre2> ...) means match <sre1> and <sre2> and ... Scheme already has an operator that means and. ($ <sre> ...) means numbered submatch. In PCREs, $ means match the end of the line. (=> <name> <sre> ...) means named submatch. In Scheme this means call the procedure on the result of evaluating test. (/ <range-spec> ...) means ranges. In Scheme / already means divide. (~ <cset-sre> ...) means complement of union. If you are a C or C++ programmer, then this makes sense. (= <n> <sre> ...) means match <n> times. As a Scheme programmer, I read that as <n> equals <sre> equals ... (>= <n> <sre> ...) means match <n> or more times. As a Scheme programmer, I read that as <n> greater than or equal <sre> greater than or equal ... (** <n> <m> <sre> ...) means match <n> to <m> times. I remember it as the Fortran exponential operator, but it has been a long time since I programmed in Fortran. This is embarrassing. Does this example from the specification really look like Scheme? (regexp-matches '(* (& (/ "az") (~ ("aeiou")))) "xyzzy") I feel like I have gone into an Apple store and tried to convince everyone that they should be running Microsoft Windows.