You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 14, 2020. It is now read-only.
Macros are globally-defined functions for which there is an entry in the list gherkin.core/*macros*. Macros are passed their arguments, unevaluated, and whatever they return is evaluated.
(defunless
(fn (pred conseq alt)
(list 'if pred alt conseq)))
(set! *macros* (cons 'user/unless *macros*))
(unless t 12) ;=> 2
Support quasi-quoting via the reader macro, which expands to thesyntax-quote` special form.
Elements within a syntax-quoted expression may be selectively unquoted via the ~ reader macro, which expands to the gherkin.core/unquote sentinel.
TBD, see Notes and Questions
gherkin.core/*macros*
. Macros are passed their arguments, unevaluated, and whatever they return is evaluated.reader macro, which expands to the
syntax-quote` special form.syntax-quoted
expression may be selectively unquoted via the~
reader macro, which expands to thegherkin.core/unquote
sentinel.~
is not valid outside ofsyntax-quote
~@
, the which expands to thegherkin.core/unquote-splicing
sentinel.~@
is not valid outside ofsyntax-quote
Notes
symbol-macrolet
iffn
s themselves may appear in the*macros*
listfn
to a nameset!
*macros*
with thefn
objectsymbol-macrolet
bodyfn
object from the*macros*
listgensym
Questions
'(macro . t)
metadatasymbol-macrolet
?The text was updated successfully, but these errors were encountered: