我试图理解Lisp-1和Lisp-2之间的区别,以及这与Clojure之间的关系,但我仍然不能正确理解。有谁能开导我吗?
发布于 2011-01-03 01:43:10
你可能想读一读Richard Gabriel写的这篇paper。它是Lisp社区在Lisp1与Lisp2中讨论的问题的摘要。在前几节中,它有点密集且移动缓慢,但当您读完第5节时,阅读起来会容易得多。
基本上,Lisp1有一个将符号映射到值的单一环境,这些值可以是“常规”或函数。Lisp2 (至少)有两个名称空间(符号有一个用于其函数值的槽,一个用于常规值的槽)。因此,在Lisp2中,您可以有一个名为foo的函数和一个名为foo的值,而在Lisp1中,名称foo只能引用单个值(函数或其他值)。
两者之间存在一些权衡和品味差异,但请阅读本文以了解详细信息。Christian Queinnec的书"Lisp in Small Pieces“也讨论了文本中编织的差异。
https://stackoverflow.com/questions/4578574
复制相似问题