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

Parsley.Internal.Backend.Machine.Ops

Documentation

class MarshalOps o where Source #

Methods

dynHandler :: StaHandler s o a -> DynHandler s o a Source #

dynCont :: StaCont s o a x -> DynCont s o a x Source #

Instances

Instances details
MarshalOps ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

MarshalOps ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

MarshalOps Text Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

MarshalOps Stream Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

MarshalOps CharList Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

MarshalOps Text16 Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

MarshalOps [Char] Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

dynHandler :: StaHandler s [Char] a -> DynHandler s [Char] a Source #

dynCont :: StaCont s [Char] a x -> DynCont s [Char] a x Source #

MarshalOps (UArray Int Char) Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

class RecBuilder o where Source #

Methods

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

buildRec :: MVar r -> Regs rs -> Ctx s o a -> Machine s o '[] One r a -> DynFunc rs s o a r Source #

Instances

Instances details
RecBuilder ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

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

RecBuilder ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

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

RecBuilder Text Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

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

RecBuilder Stream Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

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

RecBuilder CharList Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

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

RecBuilder Text16 Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

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

RecBuilder [Char] Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

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

RecBuilder (UArray Int Char) Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

buildRec :: forall r (rs :: [Type]) s a. MVar r -> Regs rs -> Ctx s (UArray Int Char) a -> Machine s (UArray Int Char) '[] One r a -> DynFunc 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 HandlerOps o where Source #

Methods

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

Instances

Instances details
HandlerOps ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

HandlerOps ByteString Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

HandlerOps Text Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

HandlerOps Stream Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

HandlerOps CharList Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

HandlerOps Text16 Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

HandlerOps [Char] Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

HandlerOps (UArray Int Char) Source # 
Instance details

Defined in Parsley.Internal.Backend.Machine.Ops

Methods

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

sat :: (?ops :: InputOps (Rep o)) => (Defunc Char -> Defunc 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 #

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

fatal :: forall o s a. StaHandler s o a Source #

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

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

halt :: forall o s a. StaCont s o a a Source #

noreturn :: forall o s a. StaCont s o a Void Source #

callWithContinuation :: forall o s a x n. MarshalOps o => StaSubRoutine s o a x -> StaCont s o a x -> Code (Rep o) -> Vec (Succ n) (StaHandler s o a) -> Code (ST s (Maybe a)) Source #

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

staHandler :: forall o s a. DynHandler s o a -> StaHandler s o a Source #

staCont :: forall o s a x. DynCont s o a x -> StaCont s o a x Source #

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

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