append makes a copy of its first argument lists, but reuses the last list. This is called structure sharing; it causes no problems unless destructive operations are used.
The original lists are unchanged.
(define x '(a b c)) (define y '(d e)) (define z (append x y)) : x (a b c) : y (d e) : z (a b c d e)
(define (append1 x y)
(if (pair? x)
(cons (car x)
(append1 (cdr x) y))
y) )
Contents    Page-10    Prev    Next    Page+10    Index