ADPfusion-0.6.0.0: Efficient, high-level dynamic programming.

Safe HaskellNone
LanguageHaskell2010

ADP.Fusion.PointL.Term.MultiChr

Contents

Orphan instances

(TermStream m (Z :. pos) (TermSymbol M (MultiChr c v x)) (Elm (Term1 (Elm ls (PointL i))) (Z :. PointL i)) (Z :. PointL i), posLeft ~ LeftPosTy pos (MultiChr c v x) (PointL i), TermStaticVar pos (MultiChr c v x) (PointL i), MkStream m posLeft ls (PointL i)) => MkStream m (pos :: Type) (ls :!: MultiChr c v x) (PointL i) Source #

First try in getting this right with a termStream.

TODO use PointL i since this is probably the same for all single-tape instances with ElmChr.

TODO it might even be possible to auto-generate this code via TH.

Instance details

Methods

mkStream :: Proxy pos -> (ls :!: MultiChr c v x) -> Int# -> LimitType (PointL i) -> PointL i -> Stream m (Elm (ls :!: MultiChr c v x) (PointL i)) Source #

(TermStreamContext m ps ts s x0 i0 is (PointL O), KnownNat c) => TermStream m (ps :. OStatic d :: Type) (TermSymbol ts (MultiChr c v x)) s (is :. PointL O) Source # 
Instance details

Methods

termStream :: Proxy (ps :. OStatic d) -> TermSymbol ts (MultiChr c v x) -> LimitType (is :. PointL O) -> (is :. PointL O) -> Stream m (TermState s Z Z) -> Stream m (TermState s (is :. PointL O) (TermArg (TermSymbol ts (MultiChr c v x)))) Source #

(TermStreamContext m ps ts s x0 i0 is (PointL I), KnownNat c) => TermStream m (ps :. IStatic d :: Type) (TermSymbol ts (MultiChr c v x)) s (is :. PointL I) Source # 
Instance details

Methods

termStream :: Proxy (ps :. IStatic d) -> TermSymbol ts (MultiChr c v x) -> LimitType (is :. PointL I) -> (is :. PointL I) -> Stream m (TermState s Z Z) -> Stream m (TermState s (is :. PointL I) (TermArg (TermSymbol ts (MultiChr c v x)))) Source #

KnownNat c => TermStaticVar (IStatic d :: Type) (MultiChr c v x) (PointL I) Source # 
Instance details

TermStaticVar (OStatic d :: Type) (MultiChr c v x) (PointL O) Source # 
Instance details