使用Number作为Monoid

时间:2010-08-20 09:10:56

标签: haskell monads

我需要使用一个数字(一个Rational)作为Writer Monad的日志类型。不幸的是,数字不是Monoid。是否有一个模块(或其他东西)将Numbers实例化为Monoid,或者我应该自己做?

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

1 个答案:

答案 0 :(得分:9)

将数字视为monoid(附加或产品)有不同的可能方法,因此您必须使用包装器来选择一个。请参阅docs for Data.Monoid - SumProduct。显然,如果你想要一些其他的操作,你应该自己编写。