hoplon 2015-07-31

@ul has joined the channel

ha-ha, all nicknames are familiar 😃

@micha what is the full story with javelin cells GCing? Are they GCed only when explicitly disposed?

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?