Liking cljdoc? Tell your friends :D
Mostly clj/s.
Exceptions indicated.

cljs.core.match


*backtrack-stack*clj/s

source

*line*clj/s

source

*locals*clj/s

source

*match-lookup*clj/s

Allow map matching syntax to check for IMatchLookup

Allow map matching syntax to check for IMatchLookup
sourceraw docstring

*no-backtrack*clj/s

Flag to optimize performance over code size.

Flag to optimize performance over code size.
sourceraw docstring

*recur-present*clj/s

In the presence of recur we cannot apply code size optimizations

In the presence of recur we cannot apply code size optimizations
sourceraw docstring

*root*clj/s

source

*syntax-check*clj/s

Enable syntax check of match macros

Enable syntax check of match macros
sourceraw docstring

*vector-type*clj/s

Default vector type. Can be rebound allowing emission of custom inline code for vector patterns, for example type-hinted primitive array operations

Default vector type. Can be rebound allowing emission of
custom inline code for vector patterns, for example
type-hinted primitive array operations
sourceraw docstring

*warned*clj/s

source

action-for-rowclj/s

(action-for-row {rows :rows} j)
source

all-wildcards?clj/s

(all-wildcards? prow)
source

analyzeclj

(analyze form env)
source

app-patternclj/s

(app-pattern p form)
source

app-pattern-matrix-ocrsclj/s

(app-pattern-matrix-ocrs [focr :as ocrs] form)
source

app-pattern?clj/s

(app-pattern? x)
source

AppPatterncljs

source

array-tagclj/s

(array-tag x)
source

as-patternclj/s

source

asetsclj/smacro

(asets a vs)
source

backtrackclj/s

Pre-allocated exception used for backtracing

Pre-allocated exception used for backtracing
sourceraw docstring

backtrack-exprclj/s

(backtrack-expr)
source

backtrack-symclj/s

(backtrack-sym)
source

bind-nodeclj/s

(bind-node bindings node)
source

bind-variablesclj/s

(bind-variables ocrs)
source

BindNodeclj/s

source

calc-rest?-and-min-sizeclj/s

(calc-rest?-and-min-size rows env)
source

casesclj/s

(cases matrix)
source

catch-errorclj/s

(catch-error & body)
source

check-matrix-argsclj/s

(check-matrix-args vars clauses)
source

check-patternclj/s

(check-pattern pat vars nvars rownum)
source

check-size?clj/smultimethod

source

choose-columnclj/s

(choose-column matrix)
source

clj-formclj/s

(clj-form vars clauses)
source

columnclj/s

(column {rows :rows} i)
source

column-splitterclj/s

(column-splitter col)
source

compileclj/s

(compile {:keys [rows ocrs] :as pm})
source

constructor?clj/s

(constructor? p)
source

constructors-above?clj/s

(constructors-above? pm i j)
source

count-inlineclj/smultimethod

source

dag-clause-to-cljclj/s

(dag-clause-to-clj occurrence pattern action)
source

default-caseclj/s

(default-case matrix)
source

default-specialize-matrixclj/s

(default-specialize-matrix p matrix)
source

defpredclj/smacro

(defpred name)
(defpred name f)
source

dimclj/s

(dim pm)
source

drop-nth-bindclj/s

(drop-nth-bind prow n ocr)
source

emit-matrixclj/s

(emit-matrix vars clauses)
(emit-matrix vars clauses default)

Take the list of vars and sequence of unprocessed clauses and return the pattern matrix. The pattern matrix contains the processed pattern rows and the list of vars originally specified. Inserts a last match - :else if provided by the user or a default match that throws.

Take the list of vars and sequence of unprocessed clauses and
return the pattern matrix. The pattern matrix contains the processed
pattern rows and the list of vars originally specified. Inserts
a last match - :else if provided by the user or a default match that
throws.
sourceraw docstring

emit-patternclj/smultimethod

Returns the corresponding pattern for the given syntax. Dispatches on the class of its argument. For example, [(:or 1 2) 2] is dispatched as clojure.lang.IPersistentVector

Returns the corresponding pattern for the given syntax. Dispatches
on the class of its argument. For example, `[(:or 1 2) 2]` is dispatched
as clojure.lang.IPersistentVector
sourceraw docstring

emit-pattern-for-syntaxclj/smultimethod

Handles patterns wrapped in the special list syntax. Dispatches on the first or second keyword in the list. For example, the pattern (:or 1 ...) is dispatches as :or, and(1 :as a)` is dispatched by :as.

Handles patterns wrapped in the special list syntax. Dispatches
on the first or second keyword in the list. For example, the pattern 
`(:or 1 ...) is dispatches as :or, and `(1 :as a)` is dispatched by :as.
sourceraw docstring

emit-patternsclj/s

(emit-patterns ps t)
(emit-patterns ps t v)
source

empty-matrix?clj/s

(empty-matrix? pm)
source

empty-row?clj/s

(empty-row? row)
source

empty-rows-caseclj/s

(empty-rows-case)

Case 1: If there are no pattern rows to match, then matching always fails

Case 1: If there are no pattern rows to match, then matching always fails
sourceraw docstring

executable-formclj/s

(executable-form node)
source

existential-pattern?clj/s

(existential-pattern? x)
source

expand-matrixclj/s

(expand-matrix matrix col)
source

expression?clj/s

(expression? ocr)
source

fail-nodeclj/s

(fail-node)
source

FailNodeclj/s

source

find-duplicate-wildcardsclj/s

(find-duplicate-wildcards pattern)
source

first-column-chosen-caseclj/s

(first-column-chosen-case matrix col ocrs)

Case 3a: The first column is chosen. Compute and return a switch/bind node with a default matrix case

Case 3a: The first column is chosen. Compute and return a
switch/bind node with a default matrix case
sourceraw docstring

first-column?clj/s

(first-column? i)
source

first-row-empty-caseclj/s

(first-row-empty-case rows ocr)

Case 2: If the first row is empty then matching always succeeds and yields the first action.

Case 2: If the first row is empty then matching always succeeds 
and yields the first action.
sourceraw docstring

first-row-wildcards-caseclj/s

(first-row-wildcards-case rows ocrs)

Case 2: If the first row is constituted by wildcards then matching matching always succeeds and yields the first action.

Case 2: If the first row is constituted by wildcards then matching
matching always succeeds and yields the first action.
sourceraw docstring

gen-map-pattern-ocrclj/s

(gen-map-pattern-ocr ocr k)
source

get-all-keysclj/s

(get-all-keys rows env)
source

get-loop-localsclj

(get-loop-locals)
source

get-ocr-mapclj/s

(get-ocr-map p {:keys [only all-keys wc-map]})
source

group-keywordsclj/s

(group-keywords pattern)

Returns a pattern with pattern-keywords (:when and :as) properly grouped. The original pattern may use the 'flattened' syntax. For example, a 'flattened' pattern row like [a b :when even?] is grouped as [a (b :when even?)].

Returns a pattern with pattern-keywords (:when and :as) properly
grouped.  The original pattern may use the 'flattened' syntax.
For example, a 'flattened' pattern row like [a b :when even?] is
grouped as [a (b :when even?)].
sourceraw docstring

group-rowsclj/s

(group-rows cs rows)
source

groupable?clj/smultimethod

Determine if two patterns may be grouped together for simultaneous testing.

Determine if two patterns may be grouped together for simultaneous
testing.
sourceraw docstring

guard-patternclj/s≠

clj
cljs
(guard-pattern p gs)
source (clj)source (cljs)

guard-pattern?clj/s

(guard-pattern? x)
source

GuardPatterncljs

source

heightclj/s

(height {rows :rows})
source

leaf-bind-exprclj/smultimethod

source

leaf-nodeclj/s

(leaf-node value)
(leaf-node value bindings)
source

LeafNodeclj/s

source

literal-case-matrix-splitterclj/s

(literal-case-matrix-splitter matrix)
source

literal-patternclj/s

(literal-pattern l)
source

literal-pattern?clj/s

(literal-pattern? x)
source

LiteralPatterncljs

source

map-key-patternclj/s

(map-key-pattern p)
source

map-key-pattern?clj/s

(map-key-pattern? x)
source

map-patternclj/s

(map-pattern)
(map-pattern m)
source

map-pattern-matrix-ocr-symclj/s

(map-pattern-matrix-ocr-sym k env)
source

map-pattern-matrix-ocrsclj/s

(map-pattern-matrix-ocrs ocrs env)
source

map-pattern?clj/s

(map-pattern? x)
source

MapKeyPatternclj/s

source

MapPatterncljs

source

matchclj/smacro

(match vars & clauses)
source

match*clj/smacro

(match* vars & clauses)
source

match-letclj/smacro

(match-let bindings & body)
source

match-let*clj/smacro

(match-let* bindings & body)
source

matchmclj/smacro

(matchm vars & clauses)
source

matchvclj/smacro

(matchv type vars & clauses)
source

matchv*clj/smacro

(matchv* type vars & clauses)
source

matrix-splitterclj/s

(matrix-splitter matrix)
source

named-wildcard-pattern?clj/s

(named-wildcard-pattern? x)
source

necessary-columnclj/s

(necessary-column pm)
source

non-local-literal-pattern?clj/s

(non-local-literal-pattern? p)
source

nth-inlineclj/smultimethod

source

nth-offset-inlineclj/smultimethod

source

nthnext-inlineclj/smultimethod

source

occurrencesclj/s

(occurrences pm)
source

or-patternclj/s≠

clj
cljs
(or-pattern p)
source (clj)source (cljs)

or-pattern?clj/s

(or-pattern? x)
source

OrPatterncljs

source

other-column-chosen-caseclj/s

(other-column-chosen-case matrix col)

Case 3b: A column other than the first is chosen. Swap column col with the first column and compile the result

Case 3b: A column other than the first is chosen. Swap column 
col with the first column and compile the result
sourceraw docstring

pattern-atclj/s

(pattern-at {rows :rows} i j)
source

pattern-matrixclj/s

(pattern-matrix rows ocrs)
source

pattern-rowclj/s

(pattern-row ps action)
(pattern-row ps action bindings)
source

pattern-scoreclj/s

(pattern-score pm i j)
source

PatternMatrixclj/s

source

PatternRowcljs

source

predicate-patternclj/s≠

clj
cljs
(predicate-pattern p gs)
source (clj)source (cljs)

predicate-pattern?clj/s

(predicate-pattern? x)
source

PredicatePatterncljs

source

predsclj/s

source

process-varsclj/s

(process-vars vars)

Process the vars for the pattern matrix. If user provides an expression, create a var and annotate via metadata with the original expression.

Process the vars for the pattern matrix. If user provides an
expression, create a var and annotate via metadata with the
original expression.
sourceraw docstring

pseudo-pattern?clj/s

(pseudo-pattern? x)
source

pseudo-patternsclj/s

(pseudo-patterns matrix i)
source

recur-present?clj/s

(recur-present? actions)
source

regroup-keywordsclj/s

(regroup-keywords pattern)
source

rest-patternclj/s

(rest-pattern p)
source

rest-pattern?clj/s

(rest-pattern? x)
source

RestPatternclj/s

source

return-splitclj/s

(return-split S D)
source

root-bind-nodeclj/s

(root-bind-node matrix)
source

rowclj/s

(row {rows :rows} j)
source

row-bindingsclj/s

(row-bindings f ocrs)
source

row-keysclj/s

(row-keys row env)
source

rowsclj/s

(rows {rows :rows})
source

score-columnclj/s

(score-column i col)
source

selectclj/s

(select pm)
source

seq-patternclj/s

(seq-pattern s)
source

seq-pattern-matrix-ocrsclj/s

(seq-pattern-matrix-ocrs ocrs focr)
source

seq-pattern-matrix-rest-ocrsclj/s

(seq-pattern-matrix-rest-ocrs ocrs focr)
source

seq-pattern?clj/s

(seq-pattern? x)
source

SeqPatterncljs

source

specializeclj/s

(specialize matrix)
(specialize matrix p)
source

specialize-app-pattern-matrixclj/s

(specialize-app-pattern-matrix rows form)
source

specialize-guard-pattern-matrixclj/s

(specialize-guard-pattern-matrix rows)
source

specialize-map-key-pattern-matrixclj/s

(specialize-map-key-pattern-matrix rows)
source

specialize-map-pattern-matrixclj/s

(specialize-map-pattern-matrix rows env)
source

specialize-map-pattern-rowclj/s

(specialize-map-pattern-row row {:keys [all-keys only? focr] :as env})
source

specialize-or-pattern-matrixclj/s

(specialize-or-pattern-matrix rows pat ps)
source

specialize-or-pattern-rowclj/s

(specialize-or-pattern-row row pat ps)
source

specialize-predicate-pattern-matrixclj/s

(specialize-predicate-pattern-matrix rows)
source

specialize-seq-pattern-matrixclj/s

(specialize-seq-pattern-matrix rows focr)
source

specialize-seq-pattern-rest-matrixclj/s

(specialize-seq-pattern-rest-matrix rows focr)
source

specialize-seq-pattern-rest-rowclj/s

(specialize-seq-pattern-rest-row focr row)
source

specialize-seq-pattern-rowclj/s

(specialize-seq-pattern-row focr row)
source

specialize-vector-pattern-matrixclj/s

(specialize-vector-pattern-matrix rows env)
source

specialize-vector-pattern-rowclj/s

(specialize-vector-pattern-row row {:keys [focr min-size]})
source

specialize-vector-pattern-row-non-restclj/s

(specialize-vector-pattern-row-non-rest row {:keys [focr min-size]})
source

split-matrixclj/s

(split-matrix matrix)
source

subvec-inlineclj/smultimethod

source

switch-nodeclj/s

(switch-node occurrence cases default)
source

SwitchNodeclj/s

source

tagclj/smultimethod

source

test-inlineclj/smultimethod

source

test-with-min-size-inlineclj/smultimethod

source

test-with-size-inlineclj/smultimethod

source

to-pattern-rowclj/s

(to-pattern-row pat action)

Take an unprocessed pattern expression and an action expression and return a pattern row of the processed pattern expression plus the action epxression.

Take an unprocessed pattern expression and an action expression and return
a pattern row of the processed pattern expression plus the action epxression.
sourceraw docstring

to-sourceclj/smultimethod

Returns a Clojure form that, when executed, is truthy if the pattern matches the occurrence. Dispatches on the type of the pattern. For instance, a literal pattern might return (= ~(:pattern pattern) ~ocr), using = to test for a match.

Returns a Clojure form that, when executed, is truthy if the
pattern matches the occurrence. Dispatches on the `type` of the
pattern. For instance, a literal pattern might return `(= ~(:pattern
pattern) ~ocr)`, using `=` to test for a match.
sourceraw docstring

update-patternclj/s

(update-pattern prow i p)
source

useful-matrixclj/s

(useful-matrix pm)
source

val-at*clj

(val-at* m k)
(val-at* m k not-found)
source

val-at-exprclj/s

(val-at-expr & args)
source

vector-patternclj/s≠

clj
cljs
(vector-pattern)
(vector-pattern v)
(vector-pattern v t)
(vector-pattern v t offset)
(vector-pattern v t offset rest?)
source (clj)source (cljs)

vector-pattern-matrix-ocrsclj/s

(vector-pattern-matrix-ocrs ocrs {:keys [focr tag min-size rest?] :as env})
source

vector-pattern-ocr-symclj/s

(vector-pattern-ocr-sym {:keys [pat focr tag]} i)
source

vector-pattern?clj/s

(vector-pattern? x)
source

vector-typeclj/s

(vector-type t & r)
source

VectorPatterncljs

source

warnclj/s

(warn msg)
source

widthclj/s

(width {rows :rows})
source

wildcard-or-existential?clj/s

(wildcard-or-existential? x)
source

wildcard-patternclj/s

(wildcard-pattern)
(wildcard-pattern sym)
source

wildcard-pattern?clj/s

(wildcard-pattern? x)
source

WildcardPatterncljs

source

wildcards-and-duplicatesclj/s

(wildcards-and-duplicates patterns)

Returns a vector of two elements: the set of all wildcards and the set of duplicate wildcards. The underbar _ is excluded from both.

Returns a vector of two elements: the set of all wildcards and the 
set of duplicate wildcards.  The underbar _ is excluded from both.
sourceraw docstring

with-tagclj/s

(with-tag t ocr)
source

wrap-valuesclj/s

(wrap-values m)
source

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close