clojure – Lisp表单和Lisp表达式是否相同?
一些文学说“以下形式的第一个子形式”或“评估一个形式…”,而其他一些文献则说“评价表达式”,大多数文献似乎都使用这两个术语。这两个术语是否可以互换?意思有差异吗?
解决方法
这些术语的定义和用法因Lisp方言和社区而异,所以对于您对Lisps的一般问题,您没有明确的答案。
为了在Common Lisp中使用它们,请参阅Rainers的详细答案。简要总结一下: form的HyperSpec条目:
expression的HyperSpec条目:
因此,根据HyperSpec,表达式用于(文本)表示,而表单用于要评估的Lisp对象。但是,如上所述,这只是在HyperSpec(因此Common Lisp)的上下文中这些术语的定义。 然而,在计划中,R5RS根本就没有提及形式,仅谈论表达。 R6RS甚至给出了一个几乎听起来像上面正好相反的定义:
(谈论(定义…)和(* …)之间的区别。) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |