Analyzer for JVM Clojure, tuned for consumption by an optional type checker.
This repository is DEPRECATED and development has been moved to the core.typed monorepo. Please follow these instructions to upgrade.
Latest stable release is 0.7.1.
deps.edn dependency information:
org.clojure/core.typed.analyzer.jvm {:mvn/version "0.7.1"}
Leiningen dependency information:
[org.clojure/core.typed.analyzer.jvm "0.7.1"]
Maven dependency information:
<dependency>
<groupId>org.clojure</groupId>
<artifactId>core.typed.analyzer.jvm</artifactId>
<version>0.7.1</version>
</dependency>
core.typed.analyzer.jvm is a heavily modified variant of tools.analyzer.jvm. If you're familiar with the latter, here's what this library does differently.
:unanalyzed
AST node that just holds a :form
and :env
.:unanalyzed
nodes being used for immediate children.:unanalyzed
nodes support a :clojure.core.typed.analyzer/config
entry which will be associatedclojure.tools.analyzer.env
is not used.resolve-{sym,ns}
are now dynamic variables that are implemented for each platform.run-passes
only supports a single passuniquify-locals
is a default pass that is compatible with :unanalyzed
nodesclojure.core.typed.analyzer.jvm.gilardi-test
for a type system example)Copyright Ambrose Bonnaire-Sergeant, Rich Hickey & contributors.
Licensed under the EPL (see the file epl-v10.html).