algebra/2.1.1.2/doc/htmlのドキュメントには、種類のクラスが巨大に表示されています。Hackageの '代数'パッケージからの可換型モノイド
どの構造体に、可換的な連想操作とユニット/アイデンティティ要素を装備しなければならないが、それ以外のものは何もないと宣言するにはどうすればよいですか(逆、分散など)?
私は
reduce :: Monoid m => (a -> m) -> [a] -> m
と思っていますが、Data.Monoidのインスタンスは可換であるために仮定されていないと私は私の機能のユーザーは、彼らが見てで動作する機能のための可換性が必要であることを確認したいですタイプ。
これは正しい答えです。 –