我在我的 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/