Estoy buscando una manera eficiente de leer números de un archivo de texto sin instalar paquetes adicionales. Data.ByteString.Lazy.Char8.readInt
parece ser el truco para los enteros. He leído que ByteString
tiene ahora un método readDouble
, pero cuando escribo import Data.ByteString.Lex.Lazy.Double (readDouble)
el compilador se queja:Lectura eficiente de números en Haskell
Main.hs:4:7: Could not find module `Data.ByteString.Lex.Lazy.Double': locations searched: Data/ByteString/Lex/Lazy/Double.hs Data/ByteString/Lex/Lazy/Double.lhs
Mi versión del paquete cadena de bytes es 0.9.1.5.
Entonces, ¿estoy haciendo algo mal? O tal vez hay una mejor solución para el problema? Gracias.
Actualización: OK, parece que readDouble
está en el paquete bytestring-lexer que no está instalado por defecto. ¿Alguna otra idea?
sólo tiene que instalar el paquete de cadena de bytes-lexer a continuación. "cabal install bytestring-lexer" – sclv
Quiero prescindir de paquetes adicionales, porque mis programas se ejecutarán en servidores sobre los que no tengo control. – adamax
@adamax: Vale la pena agregar esa restricción a su pregunta. –