タグ付けされた質問 「monoids」

6
モナドはエンドファンクターのカテゴリーの単なるモノイドですが、何が問題なのですか?
誰が最初に次のことを言ったのですか? モナドはエンドファンクターのカテゴリーの単なるモノイドですが、何が問題なのですか? そして、それほど重要ではないメモで、これは本当ですか?もしそうなら、説明を提供できますか(願わくば、Haskellの経験があまりない人でも理解できると思います)。

1
型クラスMonadPlus、Alternative、Monoidの違いは?
標準ライブラリHaskellの型クラスMonadPlus、AlternativeおよびMonoidそれぞれが本質的に同じセマンティクスを持つ2つのメソッドを提供します。 空の値:mzero、empty、またはmempty。 オペレータa -> a -> a:一緒に型クラスの値を結合しmplus、<|>またはmappend。 3つすべてが、インスタンスが準拠する必要がある次の法律を指定します。 mempty `mappend` x = x x `mappend` mempty = x したがって、3つの型クラスはすべて同じメソッドを提供しているようです。 (Alternativeも提供someしてmany、彼らのデフォルトの定義は、通常は十分であるので、彼らはこの質問の面であまり重要ではないです。) だから、私の質問は:なぜこれらの3つの非常に類似したクラスがあるのですか?スーパークラスの制約が異なる以外に、それらの間に実際の違いはありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.