parsley-core-1.1.0.0: A fast parser combinator library backed by Typed Template Haskell
Safe HaskellNone
LanguageHaskell2010

Parsley.Internal.Backend.Machine.Ops

Documentation

class (PositionOps o, LogOps (Rep o)) => LogHandler o where Source #

Methods

logHandler :: (?ops :: InputOps (Rep o)) => String -> Ctx s o a -> Γ s o xs (Succ n) ks a -> Code (Rep o) -> Code (Handler s o a) Source #

Instances

Instances details
LogHandler ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

logHandler :: forall s a (xs :: [Type]) (n :: Nat) ks. (?ops :: InputOps (Rep ByteString)) => String -> Ctx s ByteString a -> Γ s ByteString xs ('Succ n) ks a -> Code (Rep ByteString) -> Code (Handler s ByteString a) Source #

LogHandler ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

logHandler :: forall s a (xs :: [Type]) (n :: Nat) ks. (?ops :: InputOps (Rep ByteString)) => String -> Ctx s ByteString a -> Γ s ByteString xs ('Succ n) ks a -> Code (Rep ByteString) -> Code (Handler s ByteString a) Source #

LogHandler Text Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

logHandler :: forall s a (xs :: [Type]) (n :: Nat) ks. (?ops :: InputOps (Rep Text)) => String -> Ctx s Text a -> Γ s Text xs ('Succ n) ks a -> Code (Rep Text) -> Code (Handler s Text a) Source #

LogHandler Stream Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

logHandler :: forall s a (xs :: [Type]) (n :: Nat) ks. (?ops :: InputOps (Rep Stream)) => String -> Ctx s Stream a -> Γ s Stream xs ('Succ n) ks a -> Code (Rep Stream) -> Code (Handler s Stream a) Source #

LogHandler CharList Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

logHandler :: forall s a (xs :: [Type]) (n :: Nat) ks. (?ops :: InputOps (Rep CharList)) => String -> Ctx s CharList a -> Γ s CharList xs ('Succ n) ks a -> Code (Rep CharList) -> Code (Handler s CharList a) Source #

LogHandler Text16 Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

logHandler :: forall s a (xs :: [Type]) (n :: Nat) ks. (?ops :: InputOps (Rep Text16)) => String -> Ctx s Text16 a -> Γ s Text16 xs ('Succ n) ks a -> Code (Rep Text16) -> Code (Handler s Text16 a) Source #

LogHandler [Char] Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

logHandler :: forall s a (xs :: [Type]) (n :: Nat) ks. (?ops :: InputOps (Rep [Char])) => String -> Ctx s [Char] a -> Γ s [Char] xs ('Succ n) ks a -> Code (Rep [Char]) -> Code (Handler s [Char] a) Source #

LogHandler (UArray Int Char) Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

logHandler :: forall s a (xs :: [Type]) (n :: Nat) ks. (?ops :: InputOps (Rep (UArray Int Char))) => String -> Ctx s (UArray Int Char) a -> Γ s (UArray Int Char) xs ('Succ n) ks a -> Code (Rep (UArray Int Char)) -> Code (Handler s (UArray Int Char) a) Source #

class RecBuilder o where Source #

Methods

buildIter :: ReturnOps o => Ctx s o a -> MVar Void -> Machine s o '[] One Void a -> (Code (Rep o) -> Code (Handler s o a)) -> Code (Rep o) -> Code (ST s (Maybe a)) Source #

buildRec :: Regs rs -> Ctx s o a -> Machine s o '[] One r a -> Code (Func rs s o a r) Source #

Instances

Instances details
RecBuilder ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildIter :: ReturnOps ByteString => Ctx s ByteString a -> MVar Void -> Machine s ByteString '[] One Void a -> (Code (Rep ByteString) -> Code (Handler s ByteString a)) -> Code (Rep ByteString) -> Code (ST s (Maybe a)) Source #

buildRec :: forall (rs :: [Type]) s a r. Regs rs -> Ctx s ByteString a -> Machine s ByteString '[] One r a -> Code (Func rs s ByteString a r) Source #

RecBuilder ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildIter :: ReturnOps ByteString => Ctx s ByteString a -> MVar Void -> Machine s ByteString '[] One Void a -> (Code (Rep ByteString) -> Code (Handler s ByteString a)) -> Code (Rep ByteString) -> Code (ST s (Maybe a)) Source #

buildRec :: forall (rs :: [Type]) s a r. Regs rs -> Ctx s ByteString a -> Machine s ByteString '[] One r a -> Code (Func rs s ByteString a r) Source #

RecBuilder Text Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildIter :: ReturnOps Text => Ctx s Text a -> MVar Void -> Machine s Text '[] One Void a -> (Code (Rep Text) -> Code (Handler s Text a)) -> Code (Rep Text) -> Code (ST s (Maybe a)) Source #

buildRec :: forall (rs :: [Type]) s a r. Regs rs -> Ctx s Text a -> Machine s Text '[] One r a -> Code (Func rs s Text a r) Source #

RecBuilder Stream Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildIter :: ReturnOps Stream => Ctx s Stream a -> MVar Void -> Machine s Stream '[] One Void a -> (Code (Rep Stream) -> Code (Handler s Stream a)) -> Code (Rep Stream) -> Code (ST s (Maybe a)) Source #

buildRec :: forall (rs :: [Type]) s a r. Regs rs -> Ctx s Stream a -> Machine s Stream '[] One r a -> Code (Func rs s Stream a r) Source #

RecBuilder CharList Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildIter :: ReturnOps CharList => Ctx s CharList a -> MVar Void -> Machine s CharList '[] One Void a -> (Code (Rep CharList) -> Code (Handler s CharList a)) -> Code (Rep CharList) -> Code (ST s (Maybe a)) Source #

buildRec :: forall (rs :: [Type]) s a r. Regs rs -> Ctx s CharList a -> Machine s CharList '[] One r a -> Code (Func rs s CharList a r) Source #

RecBuilder Text16 Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildIter :: ReturnOps Text16 => Ctx s Text16 a -> MVar Void -> Machine s Text16 '[] One Void a -> (Code (Rep Text16) -> Code (Handler s Text16 a)) -> Code (Rep Text16) -> Code (ST s (Maybe a)) Source #

buildRec :: forall (rs :: [Type]) s a r. Regs rs -> Ctx s Text16 a -> Machine s Text16 '[] One r a -> Code (Func rs s Text16 a r) Source #

RecBuilder [Char] Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildIter :: ReturnOps [Char] => Ctx s [Char] a -> MVar Void -> Machine s [Char] '[] One Void a -> (Code (Rep [Char]) -> Code (Handler s [Char] a)) -> Code (Rep [Char]) -> Code (ST s (Maybe a)) Source #

buildRec :: forall (rs :: [Type]) s a r. Regs rs -> Ctx s [Char] a -> Machine s [Char] '[] One r a -> Code (Func rs s [Char] a r) Source #

RecBuilder (UArray Int Char) Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildIter :: ReturnOps (UArray Int Char) => Ctx s (UArray Int Char) a -> MVar Void -> Machine s (UArray Int Char) '[] One Void a -> (Code (Rep (UArray Int Char)) -> Code (Handler s (UArray Int Char) a)) -> Code (Rep (UArray Int Char)) -> Code (ST s (Maybe a)) Source #

buildRec :: forall (rs :: [Type]) s a r. Regs rs -> Ctx s (UArray Int Char) a -> Machine s (UArray Int Char) '[] One r a -> Code (Func rs s (UArray Int Char) a r) Source #

class JoinBuilder o where Source #

Methods

setupJoinPoint :: ΦVar x -> Machine s o (x ': xs) n r a -> Machine s o xs n r a -> MachineMonad s o xs n r a Source #

Instances

Instances details
JoinBuilder ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

setupJoinPoint :: forall x s (xs :: [Type]) (n :: Nat) r a. ΦVar x -> Machine s ByteString (x ': xs) n r a -> Machine s ByteString xs n r a -> MachineMonad s ByteString xs n r a Source #

JoinBuilder ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

setupJoinPoint :: forall x s (xs :: [Type]) (n :: Nat) r a. ΦVar x -> Machine s ByteString (x ': xs) n r a -> Machine s ByteString xs n r a -> MachineMonad s ByteString xs n r a Source #

JoinBuilder Text Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

setupJoinPoint :: forall x s (xs :: [Type]) (n :: Nat) r a. ΦVar x -> Machine s Text (x ': xs) n r a -> Machine s Text xs n r a -> MachineMonad s Text xs n r a Source #

JoinBuilder Stream Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

setupJoinPoint :: forall x s (xs :: [Type]) (n :: Nat) r a. ΦVar x -> Machine s Stream (x ': xs) n r a -> Machine s Stream xs n r a -> MachineMonad s Stream xs n r a Source #

JoinBuilder CharList Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

setupJoinPoint :: forall x s (xs :: [Type]) (n :: Nat) r a. ΦVar x -> Machine s CharList (x ': xs) n r a -> Machine s CharList xs n r a -> MachineMonad s CharList xs n r a Source #

JoinBuilder Text16 Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

setupJoinPoint :: forall x s (xs :: [Type]) (n :: Nat) r a. ΦVar x -> Machine s Text16 (x ': xs) n r a -> Machine s Text16 xs n r a -> MachineMonad s Text16 xs n r a Source #

JoinBuilder [Char] Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

setupJoinPoint :: forall x s (xs :: [Type]) (n :: Nat) r a. ΦVar x -> Machine s [Char] (x ': xs) n r a -> Machine s [Char] xs n r a -> MachineMonad s [Char] xs n r a Source #

JoinBuilder (UArray Int Char) Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

setupJoinPoint :: forall x s (xs :: [Type]) (n :: Nat) r a. ΦVar x -> Machine s (UArray Int Char) (x ': xs) n r a -> Machine s (UArray Int Char) xs n r a -> MachineMonad s (UArray Int Char) xs n r a Source #

class ReturnOps o where Source #

Methods

halt :: Code (Cont s o a a) Source #

noreturn :: Code (Cont s o a Void) Source #

Instances

Instances details
ReturnOps ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

ReturnOps ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

ReturnOps Text Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

halt :: Code (Cont s Text a a) Source #

noreturn :: Code (Cont s Text a Void) Source #

ReturnOps Stream Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

ReturnOps CharList Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

ReturnOps Text16 Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

ReturnOps [Char] Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

halt :: Code (Cont s [Char] a a) Source #

noreturn :: Code (Cont s [Char] a Void) Source #

ReturnOps (UArray Int Char) Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

class ContOps o where Source #

Methods

suspend :: (Γ s o (x ': xs) n r a -> Code (ST s (Maybe a))) -> Γ s o xs n r a -> Code (Cont s o a x) Source #

Instances

Instances details
ContOps ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

suspend :: forall s x (xs :: [Type]) (n :: Nat) r a. (Γ s ByteString (x ': xs) n r a -> Code (ST s (Maybe a))) -> Γ s ByteString xs n r a -> Code (Cont s ByteString a x) Source #

ContOps ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

suspend :: forall s x (xs :: [Type]) (n :: Nat) r a. (Γ s ByteString (x ': xs) n r a -> Code (ST s (Maybe a))) -> Γ s ByteString xs n r a -> Code (Cont s ByteString a x) Source #

ContOps Text Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

suspend :: forall s x (xs :: [Type]) (n :: Nat) r a. (Γ s Text (x ': xs) n r a -> Code (ST s (Maybe a))) -> Γ s Text xs n r a -> Code (Cont s Text a x) Source #

ContOps Stream Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

suspend :: forall s x (xs :: [Type]) (n :: Nat) r a. (Γ s Stream (x ': xs) n r a -> Code (ST s (Maybe a))) -> Γ s Stream xs n r a -> Code (Cont s Stream a x) Source #

ContOps CharList Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

suspend :: forall s x (xs :: [Type]) (n :: Nat) r a. (Γ s CharList (x ': xs) n r a -> Code (ST s (Maybe a))) -> Γ s CharList xs n r a -> Code (Cont s CharList a x) Source #

ContOps Text16 Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

suspend :: forall s x (xs :: [Type]) (n :: Nat) r a. (Γ s Text16 (x ': xs) n r a -> Code (ST s (Maybe a))) -> Γ s Text16 xs n r a -> Code (Cont s Text16 a x) Source #

ContOps [Char] Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

suspend :: forall s x (xs :: [Type]) (n :: Nat) r a. (Γ s [Char] (x ': xs) n r a -> Code (ST s (Maybe a))) -> Γ s [Char] xs n r a -> Code (Cont s [Char] a x) Source #

ContOps (UArray Int Char) Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

suspend :: forall s x (xs :: [Type]) (n :: Nat) r a. (Γ s (UArray Int Char) (x ': xs) n r a -> Code (ST s (Maybe a))) -> Γ s (UArray Int Char) xs n r a -> Code (Cont s (UArray Int Char) a x) Source #

class HandlerOps o where Source #

Methods

buildHandler :: Γ s o xs n r a -> (Γ s o (o ': xs) n r a -> Code (ST s (Maybe a))) -> Code (Rep o) -> Code (Handler s o a) Source #

fatal :: Code (Handler s o a) Source #

Instances

Instances details
HandlerOps ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildHandler :: forall s (xs :: [Type]) (n :: Nat) r a. Γ s ByteString xs n r a -> (Γ s ByteString (ByteString ': xs) n r a -> Code (ST s (Maybe a))) -> Code (Rep ByteString) -> Code (Handler s ByteString a) Source #

fatal :: Code (Handler s ByteString a) Source #

HandlerOps ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildHandler :: forall s (xs :: [Type]) (n :: Nat) r a. Γ s ByteString xs n r a -> (Γ s ByteString (ByteString ': xs) n r a -> Code (ST s (Maybe a))) -> Code (Rep ByteString) -> Code (Handler s ByteString a) Source #

fatal :: Code (Handler s ByteString a) Source #

HandlerOps Text Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildHandler :: forall s (xs :: [Type]) (n :: Nat) r a. Γ s Text xs n r a -> (Γ s Text (Text ': xs) n r a -> Code (ST s (Maybe a))) -> Code (Rep Text) -> Code (Handler s Text a) Source #

fatal :: Code (Handler s Text a) Source #

HandlerOps Stream Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildHandler :: forall s (xs :: [Type]) (n :: Nat) r a. Γ s Stream xs n r a -> (Γ s Stream (Stream ': xs) n r a -> Code (ST s (Maybe a))) -> Code (Rep Stream) -> Code (Handler s Stream a) Source #

fatal :: Code (Handler s Stream a) Source #

HandlerOps CharList Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildHandler :: forall s (xs :: [Type]) (n :: Nat) r a. Γ s CharList xs n r a -> (Γ s CharList (CharList ': xs) n r a -> Code (ST s (Maybe a))) -> Code (Rep CharList) -> Code (Handler s CharList a) Source #

fatal :: Code (Handler s CharList a) Source #

HandlerOps Text16 Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildHandler :: forall s (xs :: [Type]) (n :: Nat) r a. Γ s Text16 xs n r a -> (Γ s Text16 (Text16 ': xs) n r a -> Code (ST s (Maybe a))) -> Code (Rep Text16) -> Code (Handler s Text16 a) Source #

fatal :: Code (Handler s Text16 a) Source #

HandlerOps [Char] Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildHandler :: forall s (xs :: [Type]) (n :: Nat) r a. Γ s [Char] xs n r a -> (Γ s [Char] ([Char] ': xs) n r a -> Code (ST s (Maybe a))) -> Code (Rep [Char]) -> Code (Handler s [Char] a) Source #

fatal :: Code (Handler s [Char] a) Source #

HandlerOps (UArray Int Char) Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

buildHandler :: forall s (xs :: [Type]) (n :: Nat) r a. Γ s (UArray Int Char) xs n r a -> (Γ s (UArray Int Char) (UArray Int Char ': xs) n r a -> Code (ST s (Maybe a))) -> Code (Rep (UArray Int Char)) -> Code (Handler s (UArray Int Char) a) Source #

fatal :: Code (Handler s (UArray Int Char) a) Source #

sat :: (?ops :: InputOps (Rep o)) => (Code Char -> Code Bool) -> (Γ s o (Char ': xs) n r a -> Code (ST s (Maybe a))) -> Code (ST s (Maybe a)) -> Γ s o xs n r a -> Code (ST s (Maybe a)) Source #

emitLengthCheck :: forall s o xs n r a. (?ops :: InputOps (Rep o), PositionOps o) => Int -> (Γ s o xs n r a -> Code (ST s (Maybe a))) -> Code (ST s (Maybe a)) -> Γ s o xs n r a -> Code (ST s (Maybe a)) Source #

dup :: Defunc x -> (Defunc x -> Code r) -> Code r Source #

returnST :: forall s a. a -> ST s a Source #

newΣ :: ΣVar x -> Access -> Defunc x -> (Ctx s o a -> Code (ST s (Maybe a))) -> Ctx s o a -> Code (ST s (Maybe a)) Source #

writeΣ :: ΣVar x -> Access -> Defunc x -> (Ctx s o a -> Code (ST s (Maybe a))) -> Ctx s o a -> Code (ST s (Maybe a)) Source #

readΣ :: ΣVar x -> Access -> (Defunc x -> Ctx s o a -> Code (ST s (Maybe a))) -> Ctx s o a -> Code (ST s (Maybe a)) Source #

setupHandler :: Γ s o xs n r a -> (Code (Rep o) -> Code (Handler s o a)) -> (Γ s o xs (Succ n) r a -> Code (ST s (Maybe a))) -> Code (ST s (Maybe a)) Source #

raise :: Γ s o xs (Succ n) r a -> Code (ST s (Maybe a)) Source #

callWithContinuation :: forall o s a x n. Code (SubRoutine s o a x) -> Code (Cont s o a x) -> Code (Rep o) -> Vec (Succ n) (Code (Handler s o a)) -> Code (ST s (Maybe a)) Source #

resume :: Code (Cont s o a x) -> Γ s o (x ': xs) n r a -> Code (ST s (Maybe a)) Source #

takeFreeRegisters :: Regs rs -> Ctx s o a -> (Ctx s o a -> Code (SubRoutine s o a x)) -> Code (Func rs s o a x) Source #

preludeString :: forall s o xs n r a. (?ops :: InputOps (Rep o), PositionOps o, LogOps (Rep o)) => String -> Char -> Γ s o xs n r a -> Ctx s o a -> String -> Code String Source #