| Copyright | © 2015 Megaparsec contributors © 2007 Paolo Martini |
|---|---|
| License | BSD3 |
| Maintainer | Mark Karpov <[email protected]> |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Text.Megaparsec.ByteString.Lazy
Description
Convenience definitions for working with lazy ByteString.
- type Parser = Parsec ByteString
- parseFromFile :: Parser a -> String -> IO (Either ParseError a)
Documentation
type Parser = Parsec ByteString Source
Different modules corresponding to various types of streams (String,
Text, ByteString) define it differently, so user can use “abstract”
Parser type and easily change it by importing different “type
modules”. This one is for lazy bytestrings.
parseFromFile :: Parser a -> String -> IO (Either ParseError a) Source
parseFromFile p filePath runs a lazy bytestring parser p on the
input read from filePath using readFile.
Returns either a ParseError (Left) or a value of type a (Right).
main = do
result <- parseFromFile numbers "digits.txt"
case result of
Left err -> print err
Right xs -> print (sum xs)