Analyzer for clojure code, host agnostic.
Entry point:
Platform implementers must provide dynamic bindings for:
See lucid.legacy.analyzer.core-test for an example on how to setup the analyzer.
Analyzer for clojure code, host agnostic. Entry point: * analyze Platform implementers must provide dynamic bindings for: * macroexpand-1 * parse * create-var * var? See lucid.legacy.analyzer.core-test for an example on how to setup the analyzer.
(analyze form env)(analyze-body body env)(analyze-fn-method [params & body :as form] {:keys [locals local] :as env})(analyze-form form env)(analyze-in-env env)(analyze-let [op bindings & body :as form] {:keys [context loop-id] :as env})(create-var sym env)Creates a var for sym and returns it
Creates a var for sym and returns it
(empty-env)(macroexpand form env)(macroexpand-1 form env)If form represents a macro form, returns its expansion, else returns form.
If form represents a macro form, returns its expansion, else returns form.
(parse [op & args] env)Multimethod that dispatches on op, should default to -parse
Multimethod that dispatches on op, should default to -parse
Set of special forms common to every clojure variant
Set of special forms common to every clojure variant
(valid-binding-symbol? s)(validate-bindings [op bindings & _ :as form] env)(var? obj)Returns true if obj represent a var form as returned by create-var
Returns true if obj represent a var form as returned by create-var
(wrapping-meta {:keys [form env] :as expr})cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |