使用Number作为Monoid

mb1*_*b14 3 monads haskell

我需要使用一个数字(一个Rational)作为Writer Monad的日志类型.不幸的是,数字不是Monoid.是否存在将数字实例化为Monoid的模块(或其他),或者我应该自己执行此操作?

(我只是想知道它是否已存在于某个地方,不能重新发明轮子,如果需要,我自己也不需要帮助)

GS *_*ica 9

有不同的方法可以将数字视为幺半群(加法或产品),因此您必须使用包装器来选择一个.请参阅Data.Monoid文档 - Sum或者Product.显然,如果你想要一些其他的操作,你应该自己编写.