Hi, The `(oop goops util)' module currently exports its own version of `any' and `every', which is unnecessary and causes warnings to be issued when `(srfi srfi-1)' is being used. The patch below fixes this.
Thanks, Ludovic. 2005-10-20 Ludovic Courtès <[EMAIL PROTECTED]> * oop/goops/util.scm: Don't export custom versions of `any' and `every'; re-export those of `(srfi srfi-1)' instead. --- orig/oop/goops/util.scm +++ mod/oop/goops/util.scm @@ -17,9 +17,9 @@ (define-module (oop goops util) - :export (any every - mapappend find-duplicate top-level-env top-level-env? + :export (mapappend find-duplicate top-level-env top-level-env? map* for-each* length* improper->proper) + :use-module (srfi srfi-1) :no-backtrace ) @@ -28,37 +28,7 @@ ;;; {Utilities} ;;; -(define (any pred lst . rest) - (if (null? rest) ;fast path - (and (not (null? lst)) - (let loop ((head (car lst)) (tail (cdr lst))) - (if (null? tail) - (pred head) - (or (pred head) - (loop (car tail) (cdr tail)))))) - (let ((lsts (cons lst rest))) - (and (not (any null? lsts)) - (let loop ((heads (map car lsts)) (tails (map cdr lsts))) - (if (any null? tails) - (apply pred heads) - (or (apply pred heads) - (loop (map car tails) (map cdr tails))))))))) - -(define (every pred lst . rest) - (if (null? rest) ;fast path - (or (null? lst) - (let loop ((head (car lst)) (tail (cdr lst))) - (if (null? tail) - (pred head) - (and (pred head) - (loop (car tail) (cdr tail)))))) - (let ((lsts (cons lst rest))) - (or (any null? lsts) - (let loop ((heads (map car lsts)) (tails (map cdr lsts))) - (if (any null? tails) - (apply pred heads) - (and (apply pred heads) - (loop (map car tails) (map cdr tails))))))))) +(re-export any every) (define (mapappend func . args) (if (memv '() args) @@ -67,7 +37,7 @@ (apply mapappend func (map cdr args))))) (define (find-duplicate l) ; find a duplicate in a list; #f otherwise - (cond + (cond ((null? l) #f) ((memv (car l) (cdr l)) (car l)) (else (find-duplicate (cdr l))))) _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel