1
Fork 0
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:
Mikael Djurfeldt 2002-12-01 13:56:11 +00:00
parent ee6aac9733
commit 7692d26b31
4 changed files with 41 additions and 25 deletions

View file

@ -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))