卫生宏技术

翻译术语对照

英文中文
macro
naive朴素
sound可靠
unsound不可靠
elimination rule消去规则
hygiene卫生
hygienic macro卫生宏

第1章 捕获问题

宏的本质是在一段代码里将一个表达式替换为另一个表达式.

正如逻辑学和lambda演算中为人所熟知的, 朴素替换是不可靠的. 例如, 考虑一阶逻辑的全称消去规则. 这条规则经常被陈述为x.φφ[t/x]E其是说

第2章 卫生之前的Lisp宏

第3章 卫生之前的Scheme宏

Scheme编程语言由Guy L Steele Jr和Gerald J Sussman于1975年设计和实现. 鉴于Scheme起初被构想为Carl Hewitt的Actor模型的一个顺序实现 [Steele and Gabriel 1993a; Clinger 2008], 其与(当时)大多数其他的Lisp方言在以下方面有所不同:

根据上述的最后四点, Scheme在lambda演算的意义下是一个高阶语言:

第4章 Kohlbecker的算法

第5章 国家和国际标准

第6章 句法闭包的兴起与衰落

第7章 行之有效的宏

第8章 强卫生性被发现压根不那么强

第9章 syntax-case

第10章 从R4RS到R5RS

第11章 从R5RS到R6RS

第12章 从R6RS到R7RS

第13章 绑定作为作用域集合