parsley-core-2.3.0.0: A fast parser combinator library backed by Typed Template Haskell
Safe HaskellSafe-Inferred
LanguageHaskell2010

Parsley.Internal.Core.Primitives

Synopsis

Documentation

data Parser a Source #

The opaque datatype that represents parsers.

Since: 0.1.0.0

data Reg (r :: Type) a Source #

This is an opaque representation of a parsing register. It cannot be manipulated as a user, and the type parameter r is used to ensure that it cannot leak out of the scope it has been created in. It is the abstracted representation of a runtime storage location.

Since: 0.1.0.0

conditional :: [(Defunc (a -> Bool), Parser b)] -> Parser a -> Parser b -> Parser b Source #

(<*>) :: Parser (a -> b) -> Parser a -> Parser b Source #

(<*) :: Parser a -> Parser b -> Parser a Source #

(*>) :: Parser a -> Parser b -> Parser b Source #

(<|>) :: Parser a -> Parser a -> Parser a Source #

branch :: Parser (Either a b) -> Parser (a -> c) -> Parser (b -> c) -> Parser c Source #

loop :: Parser () -> Parser a -> Parser a Source #

newRegister :: Parser a -> (forall r. Reg r a -> Parser b) -> Parser b Source #

get :: Reg r a -> Parser a Source #

put :: Reg r a -> Parser a -> Parser () Source #