diff options
Diffstat (limited to 'srfi-1.scm')
| -rw-r--r-- | srfi-1.scm | 17 | 
1 files changed, 13 insertions, 4 deletions
@@ -253,8 +253,17 @@        (f l (pair-fold-right f z (cdr l)))))  ;;@body -(define (reduce f ridentity list) -  (if (null? list) ridentity (fold f (car list) (cdr list)))) +(define reduce +  (let ((comlist-reduce reduce)) +    (lambda args +      (apply (if (= 2 (length args)) +		 comlist-reduce +		 (lambda (f ridentity list) +		   (if (null? list) +		       ridentity +		       (fold f (car list) (cdr list))))) +	     args)))) +        (define (reduce-right f ridentity list)    (if (null? list)        ridentity @@ -333,11 +342,11 @@  ;;@args pred list  (define remove -  (let ((comlist:remove remove)) +  (let ((comlist-remove remove))      (lambda (pred l)        (if (procedure? pred)  	  (filter (lambda (x) (not (pred x))) l) -	  (comlist:remove pred l))))) ; 'remove' has incompatible semantics in comlist of SLIB! +	  (comlist-remove pred l))))) ; 'remove' has incompatible semantics in comlist of SLIB!  ;;@args pred list  (define (partition! p? l)  | 
