- (ck s 'VAL)syntax
- (ck s `VAL)syntax
- (ck s (OP ...))syntax
This macro's public interface has three shapes: with a quoted value, with a quasiquoted value, and with a CK-macro call.
- The stack, used internally by this macro. When initially invoking this macro, s should be the empty list, e.g. (ck () (c-cons '+ '(1 2))).
- A quoted value. Can be a quoted list, symbol, or other literal value. The quote is necessary, even for literal values like strings, numbers, and booleans.
- A quasiquoted value. This is syntactic sugar for (c-quasiquote 'VAL).
- (OP ...)
- A CK-macro call without the s argument, such as (c-cons '+ '(1 2)).
Nested calls are allowed, such as (c-cons '+ (c-list '1 '2)).