评论由:johanatan 提出
这次补丁确实做了它声明的功能:为这种场景提供了更好的消息通信。
遗憾的是,我试图从头开始构建一个最小复制版本并未成功。我理解您希望我进行更多工作,但到目前为止我所做的所有工作都是无偿的,我无法在这个问题上再捐赠更多时间。
我们应该单独讨论这个补丁的优点——它是否比之前的代码有改进?(链接:静态代码分析和人类分析可以确定它确实是一种改进)。这里的“根本问题”在于 s/valid?
和 s/explain-data
不是纯函数——它们可能会根据参数的概率失败(即当涉及到高阶函数时(链接:由于规格说明的根本限制,只能通过传入随机数据来“验证”))。事实上,考虑到这种限制,我无法想象还有更好的办法来解决这个问题的(除了抛出异常,这在我在实际场景中的原始复制尝试中被吸收了,但在我的最小复制尝试中没有)。