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