This page is part of the web mail archives of SRFI 13 from before July 7th, 2015. The new archives for SRFI 13 contain all messages, not just those from before July 7th, 2015.
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