我们通过 Haskell 平台获得的 Applicative 类型类的所有 Haskell 实例是否已被证明满足所有 Applicative 定律?如果是,我们在哪里可以找到这些证据?
Control.Applicative的源代码似乎不包含任何证据证明适用于各种情况的法律确实成立。它只是提到
-- | A functor with application.
--
--Instances should satisfy the following laws:
然后它只是在评论中说明法律。
对于其他类型类(Alternative 和 Monad)的实例,我也发现了类似的情况。
这些图书馆的用户是否应该自己验证这些法律?
但我想知道这些法律的严格证明是否已经由开发商在其他地方给出?
同样,我知道对于 IO Monad 的应用(或 Monad)定律的严格证明,一般来说,它涉及与外部世界的对话,可能非常复杂。
谢谢。