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