I can't understand the following behavior of ranges in Haskell. Enumerating 1 to 1 gives me a list contain only 1, and 2 to 2 gives me a list contain only 2 as given below.
Prelude> [1..1]
[1]
Prelude> [2..2]
[2]
But enumerating infinity to infinity gives me a list which is infinite in length and all the elements are infinity, as shown below.
Prelude> [1/0..1/0]
[Infinity,Infinity,Infinity,Infinity,Infinity,Infinity,Interrupted.
I am aware that Infinity is a concept not to be treated as a number, but what justifies that behavior ?