特殊表格只使用特殊符号吗?

时间:2014-03-13 21:07:16

标签: clojure

在REPL中执行以下命令

    (symbol-special? 'do) ;=> true
    (type 'do)            ;=> Symbol
    (doc do)              ;=>.. it is a Special form...

和let

一样
    (symbol-special? 'let) ;=> FALSE
    (type 'let)            ;=> Symbol
    (doc let)              ;=>.. it is a Special form...

我知道let是一个使用特殊符号let *的宏,特殊符号和特殊形式之间是否存在关系?

问候,

1 个答案:

答案 0 :(得分:1)

"特殊表格"是从编译器接收特殊处理的那些。这些正是具有“特殊符号”的形式。在操作员的位置。

let在文档中被描述为一种特殊形式,因为let*被认为是一个实现细节,我们鼓励用户将let视为一个基本构建块。语言。至少这是我的理解。

(注意:其他Lispy语言的用户可能会对这两个术语有不同的含义。这种用法是在Clojure社区中建立的。)