Non riesco a capire il seguente comportamento degli intervalli in Haskell. Enumerare 1 a 1 mi dà una lista contenere solo 1 e 2 a 2 mi dà una lista contenere solo 2 come indicato di seguito.Se inserisco [1/0..1/0] su GHCI ricevo Infinito Infinito. Perché?
Prelude> [1..1]
[1]
Prelude> [2..2]
[2]
Ma enumerazione infinito a infinito mi dà una lista che è infinita di lunghezza e tutti gli elementi sono l'infinito, come illustrato di seguito.
Prelude> [1/0..1/0]
[Infinity,Infinity,Infinity,Infinity,Infinity,Infinity,Interrupted.
Sono consapevole del fatto che Infinity è un concetto non deve essere trattato come un numero, ma ciò che giustifica tale comportamento?
Questo è in realtà piuttosto più ragionevole di molte altre conseguenze dei valori dei numeri non reali di IEEE754. – leftaroundabout