评论者:bendlas
希望能在1.9beta发布之前就开启对这个问题的讨论。
在我之前的项目工单CLJ-2030中,理由是创建一个结构,允许在.cljc文件中进行自动别名,我将它作为一个需求提交。显然,在cljs中声明自动别名的最佳位置是ns子句。
如果我们不想为这种情况增加别名,我建议在ns子句中增加一个用于声明关键字别名的声明。让我们为这个评论提供一个工作标题:<(:kwns-alias ...)。
:kwns-alias将用于为::qualified/keywords创建命名空间别名。
一个开放式问题是,:kwns-alias 应该如何与别名交互。也就是说,::qualified/keyword 的命名空间是否应该始终扩展到与 qualified/symbol 相同的命名空间,或者是否应该允许它们不同。我认为它们应该始终相同,因为这符合简单性的规则。这意味着
- 别名需要检查 sym 是否已在 :kwns-alias 中,并在是的情况下抛出异常
- :kwns-alias 还需要处理 `qualified/keywords 的名称可能不再需要 knws
那么,:kwns-alias 的好名字是什么?:let 可能吗?