Liking cljdoc? Tell your friends :D

bioscoop.macro


bioscoopcljmacro

(bioscoop & forms)

Macro that takes Clojure DSL forms and produces the same AST as Instaparse parsing. Binds dynamic-resolution to true for runtime reflection support.

Symbols that aren't lexical locals (let-bindings, fn params) are resolved against the namespace this macro was expanded in — captured at compile time — not against whatever *ns* happens to be bound to at runtime. This matters because ns is a thread-local dynamic binding that can drift from the compiling namespace by the time the code executes (e.g. under test runners that don't rebind ns around test invocation).

Example: (bioscoop (let [width 1920] (scale width 1080)))

This produces the same result as: (dsl/compile-dsl "(let [width 1920] (scale width 1080))")

Macro that takes Clojure DSL forms and produces the same AST as Instaparse parsing.
 Binds *dynamic-resolution* to true for runtime reflection support.

 Symbols that aren't lexical locals (let-bindings, fn params) are
resolved against the namespace this macro was expanded in — captured
at compile time — not against whatever `*ns*` happens to be bound to
at runtime. This matters because *ns* is a thread-local dynamic
binding that can drift from the compiling namespace by the time the
code executes (e.g. under test runners that don't rebind *ns* around
test invocation).

 Example:
 (bioscoop (let [width 1920] (scale width 1080)))

 This produces the same result as:
 (dsl/compile-dsl "(let [width 1920] (scale width 1080))")
raw docstring

defgraphcljmacro

(defgraph name & body)

form->astclj

(form->ast form)

Convert a Clojure form to the same AST structure that Instaparse produces

Convert a Clojure form to the same AST structure that Instaparse produces
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close