以下は、完全に有効な Clojure コードです。
(def a (atom nil))
(def b (atom a))
(reset! a b)
後方参照が必要な状況でも役立ちます。
ただし、REPL でそのようなものを扱うのは面倒です。REPL は、a または b を入力するたびにそのような参照の内容を出力しようとし、もちろん、スタック オーバーフロー エラーをすぐに生成します。
Clojure でアトム/参照/エージェントの印刷動作を制御/変更する方法はありますか? ある種の循環検出があればよいのですが、逆参照されたコンテンツを完全に抑制することさえ非常に有用です。