宏
许多其他 Lisps 允许您编写类似于 (def x 100)
定义值100
到x
上。在我们的 lisp 中,这会不起作用,因为它会尝试计算x
在环境中的存储为x
的任何值。在其他 Lisps 中,这些函数称为宏,当遇到它们时,它们会停止对其参数的计算,并对它们进行未计算的操作。它们让你编写看起来像普通函数调用的东西,但实际上做的是复杂而有趣的事情。
语言中如果有这些将会很有趣。它们使语言可以为某些工作赋予一些魔力。在许多情况下,这可以使语法更好或允许用户不需要太过于单调。
我喜欢我们的语言在没有宏的时候,处理def
和if
的过程。但是如果你不喜欢它,也就是语言当前的工作方式,并希望它与传统的Lisp更相似,那么这可能是你有兴趣实现的东西。
当前内容版权归 NoahDragon 译 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 NoahDragon 译 .