<RefEntry id="map"> <!-- This file is generated automatically from the DSSSL source. --> <!-- Do not edit this file! --> <?html-filename map.html> <RefMeta> <RefEntryTitle>map</RefEntryTitle> <RefMiscInfo Role="file">dblib.dsl</RefMiscInfo> </RefMeta> <RefNameDiv> <RefName>map</RefName> <RefPurpose>Implements map</RefPurpose> </RefNameDiv> <RefSynopsisDiv><Title>Synopsis</Title> <Synopsis> (map f #!rest xs) </Synopsis> </RefSynopsisDiv> <RefSect1><Title>Description</Title> <para> Implements map</para> </RefSect1> <RefSect1><Title>Author</Title> <para> From Mulberry Tech. site (need better attribution)</para> </RefSect1> <RefSect1><Title>Source Code</Title> <ProgramListing> (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))))))))) </ProgramListing> </RefSect1> </RefEntry>