mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-17 01:00:20 +02:00
* srfi-1.scm: Load srfi-1 extension.
(map, map-in-order, for-each, member, assoc): Replaced by primitives in srfi-1.c. (map1): Defined as `map'.
This commit is contained in:
parent
ee6aac9733
commit
7692d26b31
4 changed files with 41 additions and 25 deletions
|
@ -609,16 +609,7 @@
|
|||
|
||||
;; Internal helper procedure. Map `f' over the single list `ls'.
|
||||
;;
|
||||
(define (map1 f ls)
|
||||
(if (null? ls)
|
||||
ls
|
||||
(let ((ret (list (f (car ls)))))
|
||||
(let lp ((ls (cdr ls)) (p ret)) ; tail pointer
|
||||
(if (null? ls)
|
||||
ret
|
||||
(begin
|
||||
(set-cdr! p (list (f (car ls))))
|
||||
(lp (cdr ls) (cdr p))))))))
|
||||
(define map1 map)
|
||||
|
||||
(define (append-map f clist1 . rest)
|
||||
(if (null? rest)
|
||||
|
@ -884,15 +875,6 @@
|
|||
|
||||
;;; Association lists
|
||||
|
||||
(define (assoc key alist . rest)
|
||||
(let ((k= (if (pair? rest) (car rest) equal?)))
|
||||
(let lp ((a alist))
|
||||
(if (null? a)
|
||||
#f
|
||||
(if (k= key (caar a))
|
||||
(car a)
|
||||
(lp (cdr a)))))))
|
||||
|
||||
(define (alist-cons key datum alist)
|
||||
(acons key datum alist))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue