每个Common Lisp程序员都知道宏是一个强大的工具.除了其他方面,已经使用Common Lisp宏在Lisp之上添加面向对象而不改变语言规范; read-macros是另一种具有思维弯曲功能的构造.
另一个允许元编程的程序是Forth.Forth采用"单词"和"生成单词"的方式略有不同.
我想知道,从涉及两种语言的人那里,如果普通的lisp宏和前面的结构在广度/功率方面具有可比性:你可以用前者做一些你不能用后者做的事吗?或相反亦然?
当然,我不是在谈论两种语言的图灵完整性:我在谈论元编程能力.C是Turing-complete,但只有傻瓜会说C宏与Common Lisp的功能相当.