haskell - 使用 Number 作为 Monoid

标签 haskell monads

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

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

最佳答案

将数字视为幺半群(加法或乘积)有多种可能的方法,因此您必须使用包装器来选择一种方法。请参阅docs for Data.Monoid - SumProduct。显然,如果您想要其他操作,您应该编写自己的操作。

关于haskell - 使用 Number 作为 Monoid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3529548/

相关文章:

haskell - Hasql:编码和类型

haskell - 为什么 `do` block 中的类型在下一行匹配,但在同一行不匹配?

c++ - 在 c++11 中实现 Haskell 的 Maybe Monad

haskell - Haskell 中的内存图像数据使用什么类型?

haskell - Haskell 是否支持类型类的匿名实例?

haskell - 从 [Maybe a] 中提取第一个 Just 值

haskell - 更改 Parsec 用户状态类型的简单方法?

haskell - 带有 Hindley-Milner 类型系统的 runST

haskell - 单子(monad)的创造性用途

functional-programming - 我应该如何映射可能列表?