ExLisp. Macro
(exlisp v0.1.2)
Copy Markdown
Common Lisp-style macro expansion system. Provides destructuring-bind, backquote expansion, and macroexpand.
Summary
Functions
Converts an AST node to Common Lisp S-expression data (atom, list, lit).
Constructs a list of let* binding ASTs from a macro's lambda list.
Generates a macro function lambda AST from defmacro parameters and body.
The generated AST has the form (lambda (__macro_args__ __macro_whole__) (let* (...) body...)).
Transforms a backquote expression AST into an expanded AST using list / append / quote. Manages nested backquote depth to perform unquoting at the appropriate level.
Converts Common Lisp S-expression data (atom, list, lit) to an AST node.
Functions
Converts an AST node to Common Lisp S-expression data (atom, list, lit).
Constructs a list of let* binding ASTs from a macro's lambda list.
Generates a macro function lambda AST from defmacro parameters and body.
The generated AST has the form (lambda (__macro_args__ __macro_whole__) (let* (...) body...)).
Transforms a backquote expression AST into an expanded AST using list / append / quote. Manages nested backquote depth to perform unquoting at the appropriate level.
Converts Common Lisp S-expression data (atom, list, lit) to an AST node.