Integer 没有 Monoid 实例

Igo*_*lab 2 haskell types monoids

我在我的 Haskell 之旅中遇到了紫书Haskell Planning From Frist Principle中的 Chapter 15.6 - Why Integer does\xe2\x80\x99t has a Monoid

\n

这仅限于整数类型吗?我觉得它应该推广到 Int、Float、Double 等所有数字类型。

\n

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

\n

Dan*_*ner 6

是的,您是对的:IntFloatDouble和其他数字类型不是 的实例,Monoid除非您将它们包装在Sum或 中Product