- (ck s 'v)syntax
- (ck s (op ...))syntax
This is the core ck macro, which implements the CK abstract machine. This macro's public interface has two shapes: one with a quoted value, and one 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.
- (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)).