Haskell gamas y flotadores
¿Por qué el comportamiento de la notación de rango de Haskell es diferente para flotantes que para enteros y caracteres?
Prelude> [1, 3 .. 10] :: [Int]
[1,3,5,7,9]
Prelude> [1, 3 .. 10] :: [Float]
[1.0,3.0,5.0,7.0,9.0,11.0]
Prelude> ['a', 'c' .. 'f']
"ace"
Lo entendería si el último elemento estuviera cerca del límite superior, pero esto obviamente no es un problema de redondeo.