今現在は、 リスト構造への代入操作を教えていないため、 同じリスト構造を指しているのかコピーを指しているのかを調べる術は、 eq? などをもちいるしか方法がありません。 eq? はリスト構造については、同じ cons cell を示しているかどうかを判断します *。
> (define a '(p q)) > (define x (cons a a)) > (define y (cons a a)) > x ((p q) p q) > y ((p q) p q) > (eq? x y) #f ; x と y は別の pair を指している > (eq? (car x) (cdr x)) #t ; (car x) と (car y) は同じ pair を指す
99.10.6/ Tomio KAMADA: kamada@cs.kobe-u.ac.jp