Portability | ghc |
---|---|
Stability | experimental |
Maintainer | jwlato@gmail.com |
Safe Haskell | None |
Compile time input abstraction for the parser, relying on ByteString. The String interface only supports Latin-1 since alex-3, as alex now requires byte based access to the input stream.
- type InputStream = ByteString
- readInputStream :: FilePath -> IO InputStream
- inputStreamToString :: InputStream -> String
- inputStreamFromString :: String -> InputStream
- takeByte :: InputStream -> (Word8, InputStream)
- takeChar :: InputStream -> (Char, InputStream)
- inputStreamEmpty :: InputStream -> Bool
- takeChars :: Int -> InputStream -> [Char]
- countLines :: InputStream -> Int
Documentation
type InputStream = ByteStringSource
readInputStream :: FilePath -> IO InputStreamSource
read a file into an InputStream
inputStreamToString :: InputStream -> StringSource
convert InputStream
to String
inputStreamFromString :: String -> InputStreamSource
convert a String
to an InputStream
takeByte :: InputStream -> (Word8, InputStream)Source
(b,is') = takeByte is
reads and removes
the first byte b
from the InputStream
is
takeChar :: InputStream -> (Char, InputStream)Source
(c,is') = takeChar is
reads and removes
the first character c
from the InputStream
is
inputStreamEmpty :: InputStream -> BoolSource
return True
if the given input stream is empty
takeChars :: Int -> InputStream -> [Char]Source
str = takeChars n is
returns the first n
characters
of the given input stream, without removing them
countLines :: InputStream -> IntSource
countLines
returns the number of text lines in the
given InputStream