Tài liệu dành cho algebra/2.1.1.2/doc/html cho thấy số lượng loại lớp khổng lồ.Monoid giao hoán từ gói 'đại số' trên Hackage
Làm cách nào để tuyên bố rằng cấu trúc được đề cập phải được trang bị hoạt động liên kết giao hoán và phần tử đơn vị/nhận dạng, nhưng không có bất kỳ thứ gì khác (inverses, distributivity etc)?
Tôi đang nghĩ đến việc
reduce :: Monoid m => (a -> m) -> [a] -> m
nhưng trường hợp của Data.Monoid không nghĩa vụ phải được hoán và tôi muốn người dùng chức năng của tôi để thấy rằng họ cần hoán cho các chức năng để làm việc bằng cách nhìn vào kiểu.
Đây là câu trả lời đúng. –