Clojure 用の Lamina ライブラリを使用したいと考えています。具体的には、メッセージを返さず、マップされた関数 (リスナー?) を使用してメッセージを変換し、UI 要素を更新する接地チャネルです。
私のコードは正常に動作し、期待どおりに動作しますが、視覚化すると、値が実際に蓄積されていることがわかります。
(use 'lamina.core 'lamina.viz)
(def ch (grounded-channel))
(map* inc ch)
(enqueue ch 1 2 3)
(view-graph ch)
これらの値は使用されず、アクセスできません。
(read-channel ch)
<< ... >> ;; empty channel
(last* ch)
<< ERROR: :lamina/already-consumed! >>
この隠れた蓄積は問題でしょうか?