compiler/pattern
(match ptrn expr)
Defined at lib/compiler/pattern.lisp:107:2
Determine whether EXPR
matches the provided pattern PTRN
, returning
nil or a lookup of capture names to captured expressions.
(matcher ptrn)
Macro defined at lib/compiler/pattern.lisp:117:2
Create a matcher for the given pattern literal PTRN
.
This is intended for views case
expressions.
(matches? ptrn expr)
Defined at lib/compiler/pattern.lisp:113:2
Determine whether EXPR
matches the provided pattern PTRN
.
(pattern ptrn)
Macro defined at lib/compiler/pattern.lisp:44:2
Quote the provided pattern PTRN
, suitable for matching with i
matches?
.
This provides several “magic” symbol prefixes to aid matching:
-
?
marks a metavar, and will be captured. If the second character is&
, then this will capture zero or more values. -
%
marks a genvar, which will result in a randomly generated symbol being used in substitutions. -
$
marks a fullvar, where one can provide the full name to a variable. Use of this is discouraged and should only be used if you really need to detect hidden symbols.
Undocumented symbols
(match-always ptrn expr)
Defined at lib/compiler/pattern.lisp:124:2