map
dblib.dsl
map
Implements map
Synopsis
(map f #!rest xs)
Description
Implements map
Author
From Mulberry Tech. site (need better attribution)
Source Code
(define (map f #!rest xs)
;; Implements map
(let ((map1 (lambda (f xs) ; bootstrap version for unary F
(let loop ((xs xs))
(if (null? xs)
'()
(cons (f (car xs))
(loop (cdr xs))))))))
(cond ((null? xs)
'())
((null? (cdr xs))
(map1 f (car xs)))
(else
(let loop ((xs xs))
(if (null? (car xs))
'()
(cons (apply f (map1 car xs))
(loop (map1 cdr xs)))))))))