clojure.core.match
*
- value
- value
- value
- value
Allow map matching syntax to check for IMatchLookup
valueFlag to optimize performance over code size.
valueIn the presence of recur we cannot apply code size optimizations
value- value
Enable syntax check of match macros
valueDefault vector type. Can be rebound allowing emission of custom inline code for vector patterns, for exampl...
value- value
-
Positional factory function for class clojure.core.match.AppPattern.
function([p form _meta])
Positional factory function for class clojure.core.match.BindNode.
function([bindings node])
Positional factory function for class clojure.core.match.FailNode.
function([])
Positional factory function for class clojure.core.match.GuardPattern.
function([p gs _meta])
Positional factory function for class clojure.core.match.LeafNode.
function([value bindings])
Positional factory function for class clojure.core.match.LiteralPattern.
function([l _meta])
Positional factory function for class clojure.core.match.MapKeyPattern.
function([p])
Positional factory function for class clojure.core.match.MapPattern.
function([m _meta])
Positional factory function for class clojure.core.match.OrPattern.
function([ps _meta])
Positional factory function for class clojure.core.match.PatternMatrix.
function([rows ocrs])
Positional factory function for class clojure.core.match.PatternRow.
function([ps action bindings])
Positional factory function for class clojure.core.match.PredicatePattern.
function([p gs _meta])
Positional factory function for class clojure.core.match.RestPattern.
function([p])
Positional factory function for class clojure.core.match.SeqPattern.
function([s _meta])
Positional factory function for class clojure.core.match.SwitchNode.
function([occurrence cases default])
Positional factory function for class clojure.core.match.VectorPattern.
function([v t size offset rest? _meta])
Positional factory function for class clojure.core.match.WildcardPattern.
function([sym named _meta])
A
- function
([{rows :rows} j])
- function
([prow])
- function
([p form])
- function
([[focr :as ocrs] form])
- function
([x])
- function
([x])
- value
B
Pre-allocated exception used for backtracing
value- function
([])
- function
([])
- function
([bindings node])
- function
([ocrs])
C
- function
([rows env])
- function
([matrix])
- function
([& body])
- function
([vars clauses])
- function
([pat vars nvars rownum])
- multimethod
- function
([matrix])
- function
([vars clauses])
- function
([{rows :rows} i])
- function
([col])
- function
([{:keys [rows ocrs], :as pm}])
- function
([p])
- function
([pm i j])
- multimethod
D
- function
([occurrence pattern action])
- function
([matrix])
- function
([p matrix])
- macro
([name] [name f])
- function
([pm])
- function
([prow n ocr])
E
Take the list of vars and sequence of unprocessed clauses and return the pattern matrix. The pattern matrix contains ...
function([vars clauses] [vars clauses default])
Returns the corresponding pattern for the given syntax. Dispatches on the class of its argument. For example, `[(:or 1...
multimethodHandles patterns wrapped in the special list syntax. Dispatches on the first or second keyword in the list. For exampl...
multimethod- function
([ps t] [ps t v])
- function
([pm])
- function
([row])
Case 1: If there are no pattern rows to match, then matching always fails
function([])
- function
([node])
- function
([x])
- function
([matrix col])
- function
([ocr])
F
- function
([])
- function
([pattern])
Case 3a: The first column is chosen. Compute and return a switch/bind node with a default matrix case
function([matrix col ocrs])
- function
([i])
Case 2: If the first row is empty then matching always succeeds and yields the first action.
function([rows ocr])
Case 2: If the first row is constituted by wildcards then matching matching always succeeds and yields the first actio...
function([rows ocrs])
G
- function
([ocr k])
- function
([rows env])
- function
([])
- function
([p {:keys [only all-keys wc-map]}])
Returns a pattern with pattern-keywords (:when and :as) properly grouped. The original pattern may use the 'flatten...
function([pattern])
- function
([cs rows])
Determine if two patterns may be grouped together for simultaneous testing.
multimethod- function
- function
([x])
H
- function
([{rows :rows}])
L
- multimethod
- function
([value] [value bindings])
- function
([matrix])
- function
([l])
- function
([x])
M
Factory function for class clojure.core.match.BindNode, taking a map of keywords to field values.
function([m__8001__auto__])
Factory function for class clojure.core.match.FailNode, taking a map of keywords to field values.
function([m__8001__auto__])
Factory function for class clojure.core.match.LeafNode, taking a map of keywords to field values.
function([m__8001__auto__])
Factory function for class clojure.core.match.MapKeyPattern, taking a map of keywords to field values.
function([m__8001__auto__])
Factory function for class clojure.core.match.PatternMatrix, taking a map of keywords to field values.
function([m__8001__auto__])
Factory function for class clojure.core.match.RestPattern, taking a map of keywords to field values.
function([m__8001__auto__])
Factory function for class clojure.core.match.SwitchNode, taking a map of keywords to field values.
function([m__8001__auto__])
- function
([p])
- function
([x])
- function
([] [m])
- function
([k env])
- function
([ocrs env])
- function
([x])
Pattern match a row of occurrences. Take a vector of occurrences, vars. Clause question-answer syntax is like `cond`. ...
macro([vars & clauses])
- macro
([bindings & body])
Same as match but supports IMatchLookup when matching maps.
macro([vars & clauses])
- macro
([type vars & clauses])
- function
([matrix])
N
- function
([x])
- function
([pm])
- function
([p])
- multimethod
- multimethod
- multimethod
O
- function
([pm])
- function
- function
([x])
Case 3b: A column other than the first is chosen. Swap column col with the first column and compile the result
function([matrix col])
P
- function
([{rows :rows} i j])
- function
([rows ocrs])
- function
([ps action] [ps action bindings])
- function
([pm i j])
- function
- function
([x])
- value
Process the vars for the pattern matrix. If user provides an expression, create a var and annotate via metadata with ...
function([vars])
- function
([x])
- function
([matrix i])
R
- function
([actions])
- function
([pattern])
- function
([p])
- function
([x])
- function
([S D])
- function
([matrix])
- function
([{rows :rows} j])
- function
([f ocrs])
- function
([row env])
- function
([{rows :rows}])
S
- function
([i col])
- function
([pm])
- function
([s])
- function
([ocrs focr])
- function
([ocrs focr])
- function
([x])
- function
([matrix] [matrix p])
- function
([rows form])
- function
([rows])
- function
([rows])
- function
([rows env])
- function
([row {:keys [all-keys only? focr], :as env}])
- function
([rows pat ps])
- function
([row pat ps])
- function
([rows])
- function
([rows focr])
- function
([rows focr])
- function
([focr row])
- function
([focr row])
- function
([rows env])
- function
([row {:keys [focr min-size]}])
- function
([row {:keys [focr min-size]}])
- function
([matrix])
- multimethod
- function
([occurrence cases default])
T
- multimethod
- multimethod
- multimethod
- multimethod
Take an unprocessed pattern expression and an action expression and return a pattern row of the processed pattern exp...
function([pat action])
Returns a Clojure form that, when executed, is truthy if the pattern matches the occurrence. Dispatches on the `type` ...
multimethod
U
- function
([prow i p])
- function
([pm])
V
- function
([m k] [m k not-found])
- function
([& args])
- function
- function
([ocrs {:keys [focr tag min-size rest?], :as env}])
- function
([{:keys [pat focr tag]} i])
- function
([x])
- function
([t & r])
W
- function
([msg])
- function
([{rows :rows}])
- function
([x])
- function
([] [sym])
- function
([x])
Returns a vector of two elements: the set of all wildcards and the set of duplicate wildcards. The underbar _ is ex...
function([patterns])
- function
([t ocr])
- function
([m])