L34 Macros

  • Macros 宏

    • 宏是在程序源代码被评估之前执行的操作
    • define-macro 方法可以帮助我们定义宏,宏接受表达式并返回表达式,而不是接收值并返回值

    • 一般函数调用过程

      • 评估参数的值
      • 函数创建新Frame,将值与symbol绑定
      • 评估历程返回最终值
    • 宏调用过程

      • 将表达式直接作为参数传入(可以视为传入 'expr)
      • 宏创建新Frame,将 'expr与symbol绑定
      • 评估历程形成新表达式并返回
      • 评估新表达式
    • 利用宏定义for 见 example中的for.scm


评论