datascript

Immutable database and Datalog query engine for Clojure, ClojureScript and JS
2019-01-19T00:04:22.062800Z

The more sensible thing to do would be to debounce events until the logic engine finds something interesting - basically like saving "checkpoints", and discarding the rest. However, I want to implement this as naively as possible at first.