This module provides an experimental alternative to `Text.ILex.Stack` with a correctly typed parser stack.
data Stack : Bool -> (SnocList Type -> Type) -> SnocList Type -> TypeLin : Stack False s [<](:>) : Stack b s ts -> s ts -> Stack True s [<](:<) : Stack b s ts -> t -> Stack False s (ts :< t)push : Stack b s [<] -> t -> s [<t] -> Stack True s [<]record DState : (SnocList Type -> Type) -> Type -> Type -> TypeDS : (bufSize_ : Nat) -> ByteString -> IBuffer bufSize_ -> Nat -> Nat -> Ref q (LTENat bufSize_) -> Ref q (LTENat bufSize_) -> Ref q (SnocList BytePos) -> Ref q (SnocList String) -> Ref q (Stack True s [<]) -> Ref q (Maybe (BBErr e)) -> DState s e q.bufSize_ : DState s e q -> Nat.curOffset_ : DState s e q -> Nat.cur_ : ({rec:0} : DState s e q) -> IBuffer (bufSize_ {rec:0}).error_ : DState s e q -> Ref q (Maybe (BBErr e)).from_ : ({rec:0} : DState s e q) -> Ref q (LTENat (bufSize_ {rec:0})).positions_ : DState s e q -> Ref q (SnocList BytePos).prevOffset_ : DState s e q -> Nat.prev_ : DState s e q -> ByteString.stack_ : DState s e q -> Ref q (Stack True s [<]).strings_ : DState s e q -> Ref q (SnocList String).till_ : ({rec:0} : DState s e q) -> Ref q (LTENat (bufSize_ {rec:0})).bufSize_ : DState s e q -> NatbufSize_ : DState s e q -> Nat.prev_ : DState s e q -> ByteStringprev_ : DState s e q -> ByteString.cur_ : ({rec:0} : DState s e q) -> IBuffer (bufSize_ {rec:0})cur_ : ({rec:0} : DState s e q) -> IBuffer (bufSize_ {rec:0}).prevOffset_ : DState s e q -> NatprevOffset_ : DState s e q -> Nat.curOffset_ : DState s e q -> NatcurOffset_ : DState s e q -> Nat.from_ : ({rec:0} : DState s e q) -> Ref q (LTENat (bufSize_ {rec:0}))from_ : ({rec:0} : DState s e q) -> Ref q (LTENat (bufSize_ {rec:0})).till_ : ({rec:0} : DState s e q) -> Ref q (LTENat (bufSize_ {rec:0}))till_ : ({rec:0} : DState s e q) -> Ref q (LTENat (bufSize_ {rec:0})).positions_ : DState s e q -> Ref q (SnocList BytePos)positions_ : DState s e q -> Ref q (SnocList BytePos).strings_ : DState s e q -> Ref q (SnocList String)strings_ : DState s e q -> Ref q (SnocList String).stack_ : DState s e q -> Ref q (Stack True s [<])stack_ : DState s e q -> Ref q (Stack True s [<]).error_ : DState s e q -> Ref q (Maybe (BBErr e))error_ : DState s e q -> Ref q (Maybe (BBErr e))init : Stack True s [<] -> (n : Nat) -> IBuffer n -> F1 q (DState s e q)Initializes a new parser stack.
0 StateAct : Type -> (SnocList Type -> Type) -> Bits32 -> Typedact : DState s e q => StateAct q s r -> F1 q (Index r)dput : DState s e q => s ts -> Cast (s ts) a => Stack b s ts -> F1 q adpush0 : DState s e q => s [<] -> Cast (s [<]) a => F1 q adpush : DState s e q => s [<t] -> Cast (s [<t]) a => t -> F1 q aderr : DState s e q => s [<] -> Cast (s [<]) a => Stack b s ts -> s ts -> F1 q a