К моему большому удивлению, я обнаружил, что округление значения NaN в Haskell возвращает гигантское отрицательное число:
round (0/0)
-269653970229347386159395778618353710042696546841345985910145121736599013708251444699062715983611304031680170819807090036488184653221624933739271145959211186566651840137298227914453329401869141179179624428127508653257226023513694322210869665811240855745025766026879447359920868907719574457253034494436336205824
То же самое происходит с полом и потолком.
Что здесь происходит? Предполагается ли это поведение? Конечно, я понимаю, что любой, кто не хочет этого поведения, всегда может написать другую функцию, которая проверяет isNaN, - но существуют ли альтернативные стандартные библиотечные функции, которые обрабатывают NaN более здраво (для некоторого определения "более безопасно" )?