You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When i was comparing the graph algorithm with the Signals proposal and other Signal implementations like jotai I noticed that alien-signals always hold a strong reference to downstream signals, while others only hold strong downstream references when the downstream is being watched (directly or indirectly). This allows unused computeds to be GCed, e.g.:
const s = signal(0)
let c = computed(() => s())
c()
c = undefined
// while the function `c` is GCed, its `this` context ("the graph node") and its link remain entangled with `s` forever.
Is this an intentional design decision? If yes, why is it ok?