| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Scanner.Internal
Description
Scanner implementation
- data Scanner a = Scanner {
- run :: forall r. ByteString -> Next a r -> Result r
- type Next a r = ByteString -> a -> Result r
- data Result r
- = Done ByteString r
- | Fail ByteString String
- | More (ByteString -> Result r)
- scan :: Scanner r -> ByteString -> Result r
- anyWord8 :: Scanner Word8
- takeWhile :: (Word8 -> Bool) -> Scanner ByteString
- take :: Int -> Scanner ByteString
- endOfInput :: Scanner Bool
- string :: ByteString -> Scanner ()
- lookAhead :: Scanner (Maybe Word8)
Documentation
CPS scanner without backtracking
Constructors
| Scanner | |
Fields
| |
type Next a r = ByteString -> a -> Result r Source #
Scanner continuation
Scanner result
Constructors
| Done ByteString r | Successful result with the rest of input |
| Fail ByteString String | Scanner failed with rest of input and error message |
| More (ByteString -> Result r) | Need more input |