Clojure中函数名中的箭头

Clojure中函数名中的箭头,clojure,Clojure,对于下面的代码,箭头是宏还是函数名中的简单字符?(来自) 箭头是函数名的一部分。有一个函数定义,不是吗 (defn file->map [file] ;; TODO) (defn)定义一个函数。在您的回复中,键入: (doc defn) (source defn) 即使Clojure核心代码也提供了这样的名称,例如cond->、cond->、as->、some->谢谢。我没想到arrow作为函数名的一部分是合法的。字符目前未被列为在符号中使用的安全字符,但很有可能它会继续使用

对于下面的代码,箭头是宏还是函数名中的简单字符?(来自)


箭头是函数名的一部分。有一个函数定义,不是吗

(defn file->map  [file]
  ;; TODO)
(defn)定义一个函数。在您的回复中,键入:

(doc defn) 

(source defn)

即使Clojure核心代码也提供了这样的名称,例如cond->、cond->、as->、some->

谢谢。我没想到arrow作为函数名的一部分是合法的。
字符目前未被列为在符号中使用的安全字符,但很有可能它会继续使用,因为组合
->
很普遍。@A.Webb Clojure实际使用了它们。例如cond->>、cond->、as->,当然还有一些->>,将来读者不太可能为这些核心功能提供异常情况。但是,请注意,这些字符都在尾部,有些字符目前在某些位置被接受,而在符号中则不被接受,例如
@A.Webb:还有defred生成的函数:
->Foo
map->Foo
。所以在我看来,这个角色还没有被明确允许是一个疏忽,因为Clojure自己到处都使用这个符号。也许他们正在考虑XML文本,并希望在

(doc defn) 

(source defn)