2010-08-20 2 views
3

Мне нужно использовать число (Rational) в качестве типа журнала Writer Monad. К сожалению, число не является Моноидом. Есть ли модуль (или что-то), создающий экземпляры Numbers как Monoid, или я должен делать это сам?use Number as Monoid

(я просто хочу знать, если он уже существует где-то не изобретать велосипед, я не нужна помощь, чтобы сделать это сам, если это необходимо)

ответ

9

Существуют различные возможные способы чисел просмотра как моноид (добавление или продукты), поэтому вам нужно использовать обертку для ее выбора. См. docs for Data.Monoid - либо Sum, либо Product. Очевидно, если вам нужна другая операция, вы должны написать свой собственный.

+0

Это то, что я искал, спасибо – mb14