Я не могу понять следующее поведение диапазонов в Haskell. Перечисление с 1 по 1 дает мне список, содержащий только 1, и от 2 до 2 дает мне список, содержащий только 2, как указано ниже.Если я нахожу [1/0..1/0] в GHCI, я получаю Бесконечную Бесконечность. Зачем?
Prelude> [1..1]
[1]
Prelude> [2..2]
[2]
Но перечисляя бесконечность на бесконечность дает мне список, который бесконечен в длину и все элементы являются бесконечность, как показано на рисунке ниже.
Prelude> [1/0..1/0]
[Infinity,Infinity,Infinity,Infinity,Infinity,Infinity,Interrupted.
Я знаю, что Бесконечность - это понятие, которое нельзя рассматривать как число, но что оправдывает это поведение?
Это на самом деле более разумно, чем многие другие последствия значений нереального числа IEEE754. – leftaroundabout