我有Foldable
Integer
的{{1}} s无限制,因此我无法对其应用Max
折叠。
当值不存在时,定义Max
Nothing
实例是否有意义?有Ord a => Semigroup (Max a)
但我找不到Max
的{{1}}个实例。
有关更多背景信息,请参阅foldReduce。
答案 0 :(得分:6)
monoid-extras包为单边界提供Data.Monoid.Inf。 extended-reals包提供Data.ExtendedReal,如果你想一次性添加两个边界而不为一个或另一个Monoid
实例提供特权,或者想要一个新的Bounded
实例,这有时会更方便不依赖于Bounded
的基础类型。