Re: tail-recursive string-any string-every
shivers@xxxxxx 19 Dec 2000 05:37 UTC
The functions string-any and string-every are defined such that the
last predicate application on the final element is a tail call. Is
there any point to this? I.e. can we realiztically imagine an
application that will really benefit? I can imagine applications
being *hurt* by this requirement:
(1) This precludes string-any string-every being implemented in a
low-level language that does not support tail calls, such as C.
(2) If a Scheme implementation provides two modes: One that is
support proper tail calls and one that doesn't (because that is faster),
it requires compiling string-any string-every using the slower
compilation mode.
Could we remove this requirement? (I know it is late ...)
Too late, I think. I would have been willing to kick it around, but I'd like
to get some actual discussion going, and we can't do that at t-24h.
In any event, if it ain't tail recursive, it ain't Scheme. If you are
going to break the rules for the basic semantics, you shouldn't have
any compunctions about breaking this minor part of the SRFI spec!
-Olin