diff options
Diffstat (limited to 'srfi/srfi-1.scm')
-rw-r--r-- | srfi/srfi-1.scm | 49 |
1 files changed, 5 insertions, 44 deletions
diff --git a/srfi/srfi-1.scm b/srfi/srfi-1.scm index a06e8462e..f1208e37e 100644 --- a/srfi/srfi-1.scm +++ b/srfi/srfi-1.scm @@ -236,6 +236,11 @@ (cond-expand-provide (current-module) '(srfi-1)) +;; Load the compiled primitives from the shared library. +;; +(load-extension "libguile-srfi-srfi-1" "scm_init_srfi_1") + + ;;; Constructors (define (xcons d a) @@ -615,41 +620,6 @@ (set-cdr! p (list (f (car ls)))) (lp (cdr ls) (cdr p)))))))) -;; This `map' is extended from the standard `map'. It allows argument -;; lists of different length, so that the shortest list determines the -;; number of elements processed. -;; -(define (map f list1 . rest) - (if (null? rest) - (map1 f list1) - (let lp ((l (cons list1 rest))) - (if (any1 null? l) - '() - (cons (apply f (map1 car l)) (lp (map1 cdr l))))))) - -;; extended to lists of unequal length. -(define map-in-order map) - -;; This `for-each' is extended from the standard `for-each'. It -;; allows argument lists of different length, so that the shortest -;; list determines the number of elements processed. -;; -(define (for-each f list1 . rest) - (if (null? rest) - (let lp ((l list1)) - (if (null? l) - (if #f #f) ; Return unspecified value. - (begin - (f (car l)) - (lp (cdr l))))) - (let lp ((l (cons list1 rest))) - (if (any1 null? l) - (if #f #f) - (begin - (apply f (map1 car l)) - (lp (map1 cdr l))))))) - - (define (append-map f clist1 . rest) (if (null? rest) (let lp ((l clist1)) @@ -872,15 +842,6 @@ (else (lp (map1 cdr lists) (+ i 1))))))) -(define (member x list . rest) - (let ((l= (if (pair? rest) (car rest) equal?))) - (let lp ((l list)) - (if (null? l) - #f - (if (l= x (car l)) - l - (lp (cdr l))))))) - ;;; Deletion (define (delete x list . rest) |