Как создать бесконечность в Haskell?

Аналогично Как создать NaN в Haskell...

В C есть макрос INFINITY, определяемый math.h.

Опять же, в http://hackage.haskell.org/package/ClassyPrelude-0.1/docs/Prelude-Math.html Я вижу ошибки для проверки на бесконечность, но не для ее создания.

Следовательно, мой единственный выбор что-то вроде 1/0?


person Community    schedule 29.04.2019    source источник
comment
Что не так с last [0..]?   -  person leftaroundabout    schedule 29.04.2019
comment
@leftaroundabout Бесконечный цикл.   -  person    schedule 29.04.2019
comment
На самом деле это не единственная проблема (succ просто перестает работать с плавающей запятой, уже где-то в 1e16), но, вы знаете, к чему я клонил...   -  person leftaroundabout    schedule 29.04.2019
comment
@leftaroundabout Тбх, я не знаю. Либо это какая-то внутренняя шутка, которую я не понял, либо какое-то умное использование лени, которого я не понимаю :(   -  person    schedule 29.04.2019
comment
@gaazkam Это была шутка.   -  person chepner    schedule 29.04.2019


Ответы (1)


Пакет iee754 содержит функции и константы, специфичные для этого формата с плавающей запятой.

В частности, он имеет константу Numeric.IEEE.infinity для членов класса IEEE (к которому относятся float и double). Это в значительной степени просто реализовано как 1/0, так что ваш звонок, если вы хотите, чтобы зависимость пакета для более красивого имени.

person Cubic    schedule 29.04.2019
comment
Numeric.Limits тоже есть. - person augustss; 29.04.2019