Scape uses the ClojureScript analyzer to emit Datomic transaction data containing useful information about some ClojureScript codebase and putting the data in a datomic database so the program becomes queriable via datalog. The idea is to extract interesting statistics and facts about ClojureScript programs.
The following query
[:find ?source ?target :in $ % :where [?e :ast.def/name ?source] [?e :ast/ns :domina] [ancestor ?e ?d] [?d :ast.var/ns :domina] [?d :ast.var/ns-qualified-name ?target]]
Copyright © 2012 Jonas Enlund
Distributed under the Eclipse Public License, the same as Clojure.