@ul has joined the channel
ha-ha, all nicknames are familiar 😃
salute!
@micha what is the full story with javelin cells GCing? Are they GCed only when explicitly disposed?
@ul: that's right
i think about applying javelin in the situation when i need to create and destroy cells dynamically
may be even lot of them
so need to think about proper dispose
Maybe the right answer, but not very portable, is for javelin to use weakmap to store sources and sinks
I'm not sure if Clojure version is ready for use atm nevertheless
iirc it is not ready for multithreaded use
but may be i'm wrong
yeah this is a good thing to think about
it's possible now to use the destroy-cell! function to unlink a cell so it can be GC
and you can walk .-sinks too if necessary
and destroy those
the destroy function unlinks the cell from the dependency graph and also removes watches
i think one problem with the weakmap is that it would cause things to be eligible for GC when you still need them
like suppose i have the following:
(defc c [])
(defn f []
(cell= (pr :inc-c (map inc c))))
(f)
if .-sources and .-sinks were weak maps the anonymous cell created by f would be immediately eligible for GC, no?