Functions for working with the Meander's match compiler intermediate representation (IR).
Functions for working with the Meander's match compiler intermediate representation (IR).
(branch? node)
true if node has any children, false otherwise.
true if node has any children, false otherwise.
(children node)
Return the child nodes of node, a sequence of ::node.
Return the child nodes of node, a sequence of ::node.
(defop symbol op params & body)
(defop &form &env symbol op params & body)
Special value signaling a match failure. Generated code will often utilize this value as for control flow purposes.
Special value signaling a match failure. Generated code will often utilize this value as for control flow purposes.
(fail-form kind)
Returns (list FAIL) if kind is :search,
FAIL otherwise. This is
used when compiling :def nodes to ensure the correct type of data is
returned to code compiled for :call nodes.
Returns `(list FAIL) if kind is :search, `FAIL otherwise. This is used when compiling :def nodes to ensure the correct type of data is returned to code compiled for :call nodes.
(js-array-equals-form a b)
Form used to test if two arrays a and b are equal in ClojureScript.
Form used to test if two arrays a and b are equal in ClojureScript.
(merge node-a node-b)
Attempt to merge node-a and node-b. Returns the result of the merge if the merge succeeds. Returns a :branch node with :arms node-a and node-b if not.
Attempt to merge node-a and node-b. Returns the result of the merge if the merge succeeds. Returns a :branch node with :arms node-a and node-b if not.
(node? x)
true if x is a ::node, false otherwise.
true if x is a ::node, false otherwise.
(nodes node)
Return all subnodes of node, a sequence of ::node.
Return all subnodes of node, a sequence of ::node.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close