7

定義またはモノイドによれば、二項演算子は結合的でなければなりませんA op (B op C) == (A op B) op C

haskellの基本mconcat定義は次のとおりです。

mconcat = foldr mappend mempty

関数の実装の詳細を知っているのでmconcat、関数が結合されていない偽のモノイドを定義して使用すると、何か悪いことが起こりますか? たとえば、減算または除算のインスタンスを定義するように。

これは役に立ちますか、それとも要点を逃していますか?

4

1 に答える 1