循環リスト

以前も似たようなことではまったのでメモ。

  • 循環リストは以下のように破壊的操作によって作成できる。一般的に循環リストを gauche で素朴に印字してはならない。例えば :
gosh> (define x (cons 1 2))
gosh> (set-car! x x)
gosh> x
#0=(#0# . 2)
gosh> (print x) ;; これは止まらずカッコを出力し続ける。注意!!