Существует ли ограничение (возможно, a) для неограниченного a?

у меня есть Foldable of Integers, которые безграничны, и поэтому я не могу применить Max сложите его.

имеет ли смысл определение Max экземпляр Nothing если значение не существует? Есть Ord a => Semigroup (Max a) но я не могу найти Max экземпляр (Ord a) => Option a.

посмотреть foldReduce дополнительные связи.

1 ответов


пакет Monoid-extras предлагает данные.Моноид.Inf для односторонней границы. Пакет extended-reals предлагает данные.ExtendedReal, что иногда более удобно, если вы хотите добавить обе границы в одном кадре без привилегии одного или другого Monoid экземпляр или хотите свежий Bounded экземпляр, который не зависит от базового типа Bounded.