目前函数实例以经过篡改的Java名称打印toString()方法
`
user=> (ns proj.util-fns)
nil
proj.util-fns=> (defn a->b [a] (inc a))
proj.util-fns/a->b
proj.util-fns=> a->b
object[proj.util_fns$a__GT_b 0x141ba1f1 "proj.util_fns$a__GT_b@141ba1f1"]
`
出于调试目的,如果函数toString()能描述面向Clojure的fn名称将很有用。
方法:在函数实例中存储原始名称,并在toString()中使用它,而不是返回类名。
`
proj.util-fns=> a->b
object[proj.util_fns$a__GT_b 0x47d1a507 "proj.util-fns/a->b(NO_SOURCE_FILE:2)"]
`
权衡:增加函数实例的大小以容纳函数名称。
补丁:CLJ-1278-2.patch