/[guile]/guile/guile-core/srfi/srfi-1.scm
ViewVC logotype

Diff of /guile/guile-core/srfi/srfi-1.scm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.18 by mdj, Mon Mar 10 23:18:05 2003 UTC revision 1.19 by mdj, Tue Mar 11 19:58:14 2003 UTC
# Line 174  Line 174 
174   filter-map   filter-map
175    
176  ;;; Filtering & partitioning  ;;; Filtering & partitioning
177   filter   ;; filter                              <= in the core
178   partition   partition
179   remove   remove
180   filter!   ;; filter!                             <= in the core
181   partition!   partition!
182   remove!   remove!
183    
# Line 687  Line 687 
687    
688  ;;; Filtering & partitioning  ;;; Filtering & partitioning
689    
 (define (filter pred list)  
   (check-arg-type list? list "filter")  ; reject circular lists.  
   (letrec ((filiter (lambda (pred rest result)  
                       (if (null? rest)  
                           (reverse! result)  
                           (filiter pred (cdr rest)  
                                    (cond ((pred (car rest))  
                                           (cons (car rest) result))  
                                          (else  
                                           result)))))))  
     (filiter pred list '())))  
   
690  (define (partition pred list)  (define (partition pred list)
691    (if (null? list)    (if (null? list)
692      (values '() '())      (values '() '())
# Line 711  Line 699 
699  (define (remove pred list)  (define (remove pred list)
700    (filter (lambda (x) (not (pred x))) list))    (filter (lambda (x) (not (pred x))) list))
701    
 (define (filter! pred list)  
   (filter pred list))                   ; XXX:optimize  
   
702  (define (partition! pred list)  (define (partition! pred list)
703    (partition pred list))                ; XXX:optimize    (partition pred list))                ; XXX:optimize
704    

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26