CSUG/csug

怎么理解:Self-cleaning Macros

Opened this issue · 2 comments

为什么叫“self-cleaning" ?cleaning表示什么?

这里介绍了 hygienic macro的概念: http://en.wikipedia.org/wiki/Hygienic_macro
主要是scheme里采用,scala 2.10里也引入了。

谁能详细阐释一下 hygienic macro 与 self-cleaning macro ?

macros还没时间细研究,先mark一下,等有一些心得体会的时候再提交comment,可能要做很多功课,牵扯到其他语言层面macros机制的实现,scala中的实现, scala新reflect api以及macros api的调研等等

一个是自己清理宏里面的变量和全局变量冲突,一个是系统自动处理