Chichen Scheme で再帰的な表示を抑制したいができないのでクローじゃ使う
自己参照している List を print すると(displayでも princ でもいい)無限ループに陥る。common lisp なら
(setf *print-circle* t)
だけど、Chicken Scheme だとどうしたらよいかわからない。仕方がないので遅延評価的なことをさせることにした。自己参照しているのを lambda でラッピングしてそれ以上表示させない。
(define (wrapper env) (lambda () env))
名称も wrapper じゃなくてなんとか get なんとかにしておけばわかりやすい。これで表示ができる。あと Chicken Scheme に common lisp みたいな :id があることがわかった。#:id あるいは id: 。なんで逆なんだよ。(eq? #:id id:) は #t。