Reverse makes a copy of the top level of a list, backwards. The original list is unchanged.
(reverse '(a b c)) = (c b a)
Recursive implementation of reverse using an auxiliary function:
(define (reverse1 lst) (reverse2 lst '()) )(define (reverse2 lst answer) (if (pair? lst) (reverse2 (cdr lst) (cons (car lst) answer) ) answer ) )
Iterative implementation of reverse:
(define (reverse3 lst) (do ((answer '() )) ((not (pair? lst)) answer) (set! answer (cons (car lst) answer)) (set! lst (cdr lst)) ) )
Contents    Page-10    Prev    Next    Page+10    Index