评论由:bendlas
希望在这个1.9-beta及时开始对这个问题的讨论。
在我之前的票据CLJ-2030中的理据是创建一个结构来允许在 .cljc 文件中自动别名,我希望建议作为需求。显然,在 cljs 的 ns 子句中声明自动别名是一个好地方。
所以如果我们不想为这个用例增长别名,我会提议将 ns 子句与关键字别名的声明一起增长。让我们把这个工作标题命名为 (:kwns-alias ...) 以便在本评论中使用。
:kwns-alias 将用于为 ::qualified/keywords 建立命名空间别名
一个悬而未决的问题是,如何使 :kwns-alias 与 alias 交互。即 ::qualified/keyword 的命名空间是否应该始终扩展与有资格的符号的同一命名空间,或者是否应允许它们有所不同。我将主张它们应该始终相同,因为这符合简洁的原则。这意味着
- 别名将需要检查 sym 是否已在 :kwns-alias 中,如果是,则抛出异常
:-kwns-alias 也将需要在 `qualified/keywords` 上工作,可能不再有 knws 在其名称中更合适
那么 :kwns-alias 的好名字是什么?:let 是否合适?