Date: 09 Jan 1997 06:27:15 -0800
From: Sean Doran <smd@cesium.clock.org>
Alan@lcs.mit.EDU (Alan Bawden) writes:
> Date: 08 Jan 1997 12:55:30 -0500
> From: Olin Shivers <shivers@ai.mit.edu>
> (* <regex> ...) 0 or more matches
>
> I, too, am puzzled by the "..." here (and in several of the others).
I see this as consistent with the usual re-using tools in
4.4BSD and other systems. Egrep -e pattern1 -e pattern2 -e pattern3
in those systems will match on any of the patterns.
Having (* <regex1> <regex2> <regex3>) match 0 or more
matches of any of regex1, regex2 or regex3 seems natural
to me. Moreover, it is an obviously handy short-cut over
something like (or (* <regex1>) (* <regex2>) (* <regex3>))
when it comes to things like named regular expressions and
the like....
We've seen three proposed meanings for (* <regex1> <regex2> <regex3>) so
far:
(| (* <regex1>) (* <regex2>) (* <regex3>))
(* (| <regex1> <regex2> <regex3>))
(* (& <regex1> <regex2> <regex3>))
Until somebody presents a compelling reason to prefer one interpretation
over all the other possible interpretations, `*' should remain a unary
operation.
Olin, what did you have in mind?
|