использовать номер как моноид - PullRequest
3 голосов
/ 20 августа 2010

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

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

1 Ответ

9 голосов
/ 20 августа 2010

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

...