2024 Clojure 状态调查! 分享你的想法。

欢迎!请参阅 关于 页面以了解更多如何使用本站的信息。

0 投票
记录和类型

在 defrecord 身体内可以引用 ->type-ctor,但是在 deftype 中却不可行。

此补丁(PATCH)添加了一个隐式声明(declare),就像在 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}} 确实 隐式声明了工厂函数,这与我在 {{deftype}} 上的先前经验相矛盾。

0 投票

评论者为:alexmiller

没有考虑为关键增强,因此很难说何时会进行评估。我已经将其在流程中至少降低了一步。

0 投票
by

评论者为:samestep

谢谢,Alex!我完全明白这并不是一个特别重要的问题;不过,看到它逐渐接近修复仍然很令人鼓舞。

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