评论者:bendlas
希望及时开始有关这个话题的讨论,以便在 1.9-beta 上准备就绪。
在我之前的条目 CLJ-2030 中,的理由是创建一个结构,允许在 .cljc 文件中进行自动别名化,我愿意将其作为一项需求提出。Cljs 异名声明的明显位置是 ns 子句。
因此,如果我们不想为该用例扩展别名,我会建议在 ns 子句中添加关键字 - 别名声明。让我们把这个评论的标题定为(:kwns-alias ...) 。
:kwns-alias 用于为 ::qualified/keywods 建立命名空间别名
一个开放的问题是如何::kwns-alias 应与别名交互。也就是说,:qualified/keyword 的命名空间是否应该始终与 qualified/symbol 的命名空间相同,或者是否应该允许它们不同。我认为它们应该始终相同,因为这遵循了简洁性的规则。这意味着:
- 别名需要检查 sym 是否已经在 :kwns-alias 中,如果是,则抛出异常
- :kwns-alias 还需要处理类似于 `qualified/keywords 的名称可能不再需要 knws 的名称了
那么:kwns-alias 的好名字是什么呢?:let 呢?