[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: tail-recursive string-any string-every
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
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!