• 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.


Want to receive my 🖋 posts as I publish them?