FOR-EACH is missing from the reference implementation of SRFI 1
Michael Sperber 06 Sep 2003 11:34 UTC
The reference implementation is missing a definition of FOR-EACH as
specified in the document. Here is one. (I've tried, as best as I
could, to imitate Olin's style.)
(define (for-each f lis1 . lists)
(check-arg procedure? f for-each)
(if (pair? lists)
(let recur ((lists (cons lis1 lists)))
(receive (cars cdrs) (%cars+cdrs lists)
(if (pair? cars)
(begin
(apply f cars) ; Do head first,
(recur cdrs))))) ; then tail.
;; Fast path.
(let recur ((lis lis1))
(if (not (null-list? lis))
(begin
(f (car lis)) ; Do head first,
(recur (cdr lis))))))) ; then tail.
Olin, if you're there---I'd be happy to put this in the reference
implementation of srfi.schemers.org if and when I have your OK.
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla