haskell - Integer 没有 Monoid 实例

标签 haskell types monoids

我在我的 Haskell 之旅中遇到了紫皮书 Haskell Programming From Frist Principles 中的第 15.6 章 - 为什么 Integer 没有 Monoid .

这是否仅限于整数类型?我觉得应该泛化为 Int、Float、Double 等所有数字类型。

因为 Integer 没有 Monoidal 实例的唯一原因是因为没有指定它的唯一性,即。必须应用 Sum 或 Product 包装器。

最佳答案

是的,你是对的:Int , Float , Double , 和其他数字类型不是 Monoid 的实例除非你把它们包裹在 Sum 中或 Product .

关于haskell - Integer 没有 Monoid 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71975789/

相关文章:

haskell - 语法树 : free monad + Bound. 范围

haskell - 让 GHC 忽略不在范围内的错误

Haskell - 按分隔符分割字符串

r - 在 R 中, `is.list(x)` 和 `is(x,' 列表之间的不同行为')`

grails - 在 gorm 中使用时间的数据类型是什么?

mysql、预处理语句和自动类型转换

haskell - 如何解决Haskell代码错误“"<>'不是类 `Monoid'的(可见)方法”?

generics - 获取或实现 String.Zero 和 bool.Zero 一般用于幺半群

regex - 你如何在 Haskell 中说明正则表达式模式?