Haskellプラットフォームで取得するApplicative型クラスのすべてのHaskellインスタンスは、すべてのApplicative法を満たしていることが証明されていますか?はいの場合、それらの証明はどこにありますか?
Control.Applicativeのソースコードには、さまざまなインスタンスの適用法が適用されるという証拠が含まれていないようです。それはただそれを述べています
-- | A functor with application.
--
--Instances should satisfy the following laws:
次に、コメントに法律を記載します。
他の型クラス(AlternativeとMonad)のインスタンスについても同様のケースを見つけました。
これらの図書館の利用者は、これらの法律を自分で確認することになっていますか?
しかし、私はこれらの法律の厳格な証拠が開発者によって他の場所で与えられたのかどうか疑問に思いましたか?
繰り返しになりますが、IO MonadのApplicate(またはMonad)法の厳密な証明には、一般に、外部との会話が含まれるため、非常に複雑になる可能性があることを認識しています。
ありがとう。