添加f-exprs是否简化了LISP中基本表达式的宏的实现?

时间:2011-08-05 23:24:11

标签: macros clojure lisp scheme

This guy认为向LISP添加fexprs可以大大简化方案中语言的实现。

Here we see如何使用MacCarthy的LISP实现宏。

我的问题是 - 添加f-exprs是否简化了LISP中宏的实现?

1 个答案:

答案 0 :(得分:12)

我就是那个人。 :)

Fexprs,就像在内核语言中一样,大大简化了语言 - Kernel只有三个内置函数:$ define! (用于向环境添加新绑定),$ if(通常)和$ vau(类似于lambda,但不评估其参数)。

此外,宏(fexprs)可以用作函数可以 - 与当前的Lisp不同,其中宏与运行时分开工作。这使得语言更加通用。

也就是说,目前还没有用Kernel或其他带有fexprs的新Lisp编写的真实应用程序。这是一个由少数人积极修补的领域。