clojure';什么是特别表格?
作为改进Cider调试器的一部分,我需要对所有可能的特殊表单实现特殊处理。为了便于理解,我需要知道满足clojure';什么是特别表格?,clojure,symbols,Clojure,Symbols,作为改进Cider调试器的一部分,我需要对所有可能的特殊表单实现特殊处理。为了便于理解,我需要知道满足特殊符号?的所有符号。 上的文档页面虽然很有帮助,但并没有提供所有内容 例如,经过一些实验,我了解到 这里列出的大多数表单都有对应的*(let*和loop*) 有一个clojure.core/import*特殊符号(如果不是运气好的话,我是不会找到的) 是否有所有特殊符号的完整列表? 或者,是否有办法列出所有实习符号?如果是这样的话,那么我可以过滤特殊符号?查看特殊符号的定义?提供了一个重要线索
特殊符号?
的所有符号。
上的文档页面虽然很有帮助,但并没有提供所有内容
例如,经过一些实验,我了解到
*
(let*
和loop*
)李>
clojure.core/import*
特殊符号(如果不是运气好的话,我是不会找到的)或者,是否有办法列出所有实习符号?如果是这样的话,那么我可以过滤
特殊符号?
查看特殊符号的定义?
提供了一个重要线索:
(defn special-symbol?
"Returns true if s names a special form"
{:added "1.0"
:static true}
[s]
(contains? (. clojure.lang.Compiler specials) s))
因此:
该死,现在我很尴尬。忘记使用源代码。
user=> (pprint (keys (. clojure.lang.Compiler specials)))
(&
monitor-exit
case*
try
reify*
finally
loop*
do
letfn*
if
clojure.core/import*
new
deftype*
let*
fn*
recur
set!
.
var
quote
catch
throw
monitor-enter
def)