/[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.30 by kryde, Tue Dec 2 21:10:38 2003 UTC revision 1.31 by kryde, Tue Dec 2 21:13:42 2003 UTC
# Line 553  Line 553 
553          '()          '()
554          (append! (apply f (map1 car l)) (lp (map1 cdr l)))))))          (append! (apply f (map1 car l)) (lp (map1 cdr l)))))))
555    
556  (define (map! f list1 . rest)  ;; OPTIMIZE-ME: Re-use cons cells of list1
557    (if (null? rest)  (define map! map)
     (let lp ((l list1))  
       (if (null? l)  
         '()  
         (begin  
           (set-car! l (f (car l)))  
           (set-cdr! l (lp (cdr l)))  
           l)))  
     (let lp ((l (cons list1 rest)) (res list1))  
       (if (any1 null? l)  
         '()  
         (begin  
           (set-car! res (apply f (map1 car l)))  
           (set-cdr! res (lp (map1 cdr l) (cdr res)))  
           res)))))  
558    
559  (define (pair-for-each f clist1 . rest)  (define (pair-for-each f clist1 . rest)
560    (if (null? rest)    (if (null? rest)

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31

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