Immutable database and Datalog query engine in ClojureScript