; -*- scheme -*- (define i 1) (define i2 i) (set! i2 (+ i2 1)) (for-each display (list "i2: " i2 " i: " i)) (define s "hello") (define s2 s) (string-set! s2 0 #\H) (for-each display (list "s2: " s2 " s: " s)) (define l '("hello")) (define l2 l) (set-cdr! l2 '("world")) (for-each display (list "l2: " l2 " l: " l)) (define (new-point x y) (cons x y)) (define (translate p x y) (set-car! p (+ (car p) x)) (set-cdr! p (+ (cdr p) y))) (define p (new-point 0 1)) (define p2 p) (translate p2 1 1) (for-each display (list "p2: " p2 " p: " p))