hiredman 评论
命名是一个协议或接口并不影响当你有一个命名空间时创建一个带有命名空间的符号。
我认为修补还不够,除了支持 (symbol ns "foo"),还应该支持 (symbol ns 'foo),因为 (symbol 'foo) 和 (symbol "foo") 都可以工作,但 (symbol 'bar 'foo) 不行。
如果 Named 是一个协议,并且如果你将其扩展到 String,并且如果你让 symbol 函数可以从一个或两个 Named 事物中创建符号,你仍然必须做 (symbol (ns-name ns) 'foo) 或 (symbol (ns-name ns) "foo")