- automatic dependency tracking
- 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.