2024 年 Clojure 状态调查! 中分享您的想法。

欢迎!请参阅 关于 页面以了解关于此的更多信息。

0
Records and Types

在 defrecord 身体内可以引用 ->type-ctor,但这是不可能在 deftype 内实现的。

这个补丁添加了一个隐式的声明,就像在 defrecord 中所做的那样,使得可以在 deftype 方法中使用 ->type-ctor。

5 答案

0

评论者:halgari

看起来是合理的。正在审查。

0

评论者:samestep

这会很快被集成吗?在定义数据结构时(例如,((链接: http://codereview.stackexchange.com/q/121633/82369 文本:示例))需要显式 {{declare}} 工厂函数是尴尬的。当前的情景违反了(链接: https://en.wikipedia.org/wiki/Principle_of_least_astonishment 文本:最少惊讶原则);在处理(链接: http://www.leonardoborges.com/writings/2012/11/30/monads-in-small-bites-part-i-functors/ 文本:这篇教程)时,我在发现 {{defrecord}} 确实 会隐式 {{declare}} 工厂函数时感到非常惊讶,这与我的先前经验 {{deftype}} 相冲突。

0
答复:

评论人:alexmiller

没有增强被考虑为关键,所以很难说这个功能何时会被评估。我已经将它至少向下推进了一个步骤。

0

评论者:samestep

感谢,Alex!我完全理解这并不是一个特别重要的问题;不过,看到这个问题越来越接近解决方案还是很令人鼓舞的。

0
参考:https://clojure.atlassian.net/browse/CLJ-1044(由 bronsa 报告)
...