📝S.js
github: https://github.com/adamhaile/S
S.js is a small Reactive Programming library. It combines an automatic dependency graph with a synchronous execution engine.
This library has data nodes and computational nodes. All computational nodes are automatically re-fired when data nodes or upstream computational nodes change.
The library lacks terminal nodes (sinks) which could help with garbage-collecting parts of the dependency graph.
It has S.root(), though. It can be used to stop computations.
All nodes have a direct owner. If the owner is killed, the node stops triggering. That means sharing computational nodes between different roots is not viable.
It would be cool to combine S.js with janestreet/incremental: automatic dependency tracking with proper incremental computations and garbage collection.