宏只是在编译时运行的函数,即在 read-eval-print-loop 中的 eval 步骤期间运行的函数

Reader 宏是另一种形式的宏,它在读取时而不是编译时扩展。

定义宏时的最佳实践。

  • alpha-renaming,因为宏是扩展绑定名称冲突可能会出现。使用宏时,绑定冲突不是很直观。这就是为什么每当宏添加绑定到范围时,必须在每个符号的末尾使用 #