Skip to content
No description or website provided.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


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.

This is work in progress. Take a look at core.clj and emitter.clj if you're interested to see how it works.


The following query

[:find ?source ?target
 :in $ %
 [?e :ast.def/name ?source]
 [?e :ast/ns :domina]
 [ancestor ?e ?d]
 [?d :ast.var/ns :domina]
 [?d :ast.var/ns-qualified-name ?target]]

finds all definitions in the domina namespace together with all (internal) calls those defs make. The code in the call-graph namespace generates a graphviz file which can be seen rendered here.


Copyright © 2012 Jonas Enlund

Distributed under the Eclipse Public License, the same as Clojure.

Something went wrong with that request. Please try again.