(Monad m, Element ls PointL, MkStream m ls PointL) => MkStream m ((:!:) ls (Chr r x)) PointL | |
(Monad m, Element ls Subword, MkStream m ls Subword) => MkStream m ((:!:) ls (Chr r x)) Subword | |
(Monad m, Element ls (Outside PointL), MkStream m ls (Outside PointL)) => MkStream m ((:!:) ls (Chr r x)) (Outside PointL) | |
(Monad m, Element ls (Outside Subword), MkStream m ls (Outside Subword)) => MkStream m ((:!:) ls (Chr r x)) (Outside Subword) | |
(Monad m, TerminalStream m a (Outside is), (~) * (Context (Outside ((:.) is PointL))) ((:.) (Context (Outside is)) (OutsideContext Int))) => TerminalStream m (TermSymbol a (Chr r x)) (Outside ((:.) is PointL)) | |
(Monad m, TerminalStream m a is) => TerminalStream m (TermSymbol a (Chr r x)) ((:.) is PointL) | |
(Monad m, TerminalStream m a is) => TerminalStream m (TermSymbol a (Chr r x)) ((:.) is Subword) | |
(Show i, Show r, Show (Elm ls i)) => Show (Elm ((:!:) ls (Chr r x)) i) | |
Build (Chr r x) | |
Element ls i => Element ((:!:) ls (Chr r x)) i | |
TermStaticVar (Chr r x) PointL | |
TermStaticVar (Chr r x) Subword | |
GetIxs ls i => GetIxs ((:!:) ls (Chr a b)) i | |
TermStaticVar (Chr r x) (Outside PointL) | |
type Stack (Chr r x) = (:!:) S (Chr r x) | |
data Elm ((:!:) ls (Chr r x)) = ElmChr !r !i !i !(Elm ls i) | |
type Arg ((:!:) ls (Chr r x)) = (:.) (Arg ls) r | |
type TermArg (TermSymbol a (Chr r x)) = (:.) (TermArg a) r | |
type R ((:!:) ls (Chr a b)) i = (:.) (R ls i) (i, i) | |