Namespace: joker.template
v1.0Contents
Summary
Macros that expand to repeated copies of a template expression.
Index
Constants
Constants are variables with :const true in their metadata. Joker currently does not recognize them as special; as such, it allows redefining them or their values.-
(None.)
Variables
-
(None.)
Functions, Macros, and Special Forms
-
apply-template
Function v1.0(apply-template argv expr values)
For use in macros. argv is an argument list, as in defn. expr is
source
a quoted expression using the symbols in argv. values is a sequence
of values to be used for the arguments.
apply-template will recursively replace argument symbols in expr
with their corresponding values, returning a modified expr.
Example: (apply-template '[x] '(+ x x) '[2])
;=> (+ 2 2) -
do-template
Macro v1.0(do-template argv expr & values)
Repeatedly copies expr (in a do block) for each group of arguments
source
in values. values are automatically partitioned by the number of
arguments in argv, an argument vector as in defn.
Example: (macroexpand '(do-template [x y] (+ y x) 2 4 3 5))
;=> (do (+ 4 2) (+ 5 3))