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

Safe HaskellNone
LanguageHaskell2010

ADP.Fusion.SynVar.Array.Type

Contents

Synopsis

Documentation

data ITbl m arr c i x where Source

Immutable table.

Constructors

ITbl :: !Int -> !Int -> !c -> !(arr i x) -> !(i -> i -> m x) -> ITbl m arr c i x 

Fields

iTblBigOrder :: !Int
 
iTblLittleOrder :: !Int
 
iTblConstraint :: !c
 
iTblArray :: !(arr i x)
 
iTblFun :: !(i -> i -> m x)
 

Instances

SplitIxCol uId (SameSid uId (Elm ls i)) (Elm ls i) => SplitIxCol uId True (Elm ((:!:) ls (Split sId splitType (Backtrack (ITbl mF arr c j x) mF mB r))) i) Source 
SplitIxCol uId (SameSid uId (Elm ls i)) (Elm ls i) => SplitIxCol uId True (Elm ((:!:) ls (Split sId splitType (ITbl m arr c j x))) i) Source 
(Monad om, MutateCell h ((:.) ts (ITbl im arr c i x)) im om i, PrimArrayOps arr i x, Show i, IndexStream i, TableOrder ((:.) ts (ITbl im arr c i x))) => MutateTables h ((:.) ts (ITbl im arr c i x)) im om Source 
(PrimArrayOps arr ZS2 x, MPrimArrayOps arr ZS2 x, MutateCell MonotoneMCFG ts im om ZS2, PrimMonad om) => MutateCell MonotoneMCFG ((:.) ts (ITbl im arr c ZS2 x)) im om ZS2 Source 
(PrimArrayOps arr i x, MPrimArrayOps arr i x, MutateCell CFG ts im om i, PrimMonad om) => MutateCell CFG ((:.) ts (ITbl im arr c i x)) im om i Source 
(PrimArrayOps arr (Subword I) x, MPrimArrayOps arr (Subword I) x, MutateCell h ts im om ((:.) ((:.) Z (Subword I)) (Subword I)), PrimMonad om) => MutateCell h ((:.) ts (ITbl im arr c (Subword I) x)) im om ((:.) ((:.) Z (Subword I)) (Subword I)) Source 
(Monad mB, Element ls ((:.) is i), TableStaticVar ((:.) us u) ((:.) cs c) ((:.) is i), AddIndexDense (Elm ls ((:.) is i)) ((:.) us u) ((:.) cs c) ((:.) is i), MkStream mB ls ((:.) is i), PrimArrayOps arr ((:.) us u) x) => MkStream mB ((:!:) ls (Backtrack (ITbl mF arr ((:.) cs c) ((:.) us u) x) mF mB r)) ((:.) is i) Source 
(Monad m, Element ls ((:.) is i), TableStaticVar ((:.) us u) ((:.) cs c) ((:.) is i), AddIndexDense (Elm ls ((:.) is i)) ((:.) us u) ((:.) cs c) ((:.) is i), MkStream m ls ((:.) is i), PrimArrayOps arr ((:.) us u) x) => MkStream m ((:!:) ls (ITbl m arr ((:.) cs c) ((:.) us u) x)) ((:.) is i) Source 
(Show x, Show i, Show (RunningIndex i), Show (Elm ls i)) => Show (Elm ((:!:) ls (Backtrack (ITbl mF arr c i x) mF mB r)) i) Source 
(Show i, Show (RunningIndex i), Show (Elm ls i), Show x) => Show (Elm ((:!:) ls (ITbl m arr c j x)) i) Source 
TableOrder ts => TableOrder ((:.) ts (ITbl im arr c i x)) Source 
Element ls i => Element ((:!:) ls (Backtrack (ITbl mF arr c j x) mF mB r)) i Source 
Element ls i => Element ((:!:) ls (ITbl m arr c j x)) i Source 
Element ls i => Element ((:!:) ls (Split uId splitType (Backtrack (ITbl mF arr c j x) mF mB r))) i Source 
Element ls i => Element ((:!:) ls (Split uId splitType (ITbl m arr c j x))) i Source 
(Monad mB, PrimArrayOps arr i x, IndexStream i) => Axiom (Backtrack (ITbl mF arr c i x) mF mB r) Source 
(Monad m, PrimArrayOps arr i x, IndexStream i) => Axiom (ITbl m arr c i x) Source 
Build (ITbl m arr c i x) Source 
GenBacktrackTable (ITbl mF arr c i x) mF mB r Source 
type SplitIxTy uId True (Elm ((:!:) ls (Split sId splitType (Backtrack (ITbl mF arr c j x) mF mB r))) i) = (:.) (SplitIxTy uId (SameSid uId (Elm ls i)) (Elm ls i)) i Source 
type SplitIxTy uId True (Elm ((:!:) ls (Split sId splitType (ITbl m arr c j x))) i) = (:.) (SplitIxTy uId (SameSid uId (Elm ls i)) (Elm ls i)) i Source 
data Elm ((:!:) ls (Backtrack (ITbl mF arr c j x) mF mB r)) = ElmBtITbl !x [r] !(RunningIndex i) !(Elm ls i) Source 
data Elm ((:!:) ls (ITbl m arr c j x)) = ElmITbl !x !(RunningIndex i) !(Elm ls i) Source 
data Elm ((:!:) ls (Split uId splitType (Backtrack (ITbl mF arr c j x) mF mB r))) = ElmSplitBtITbl !(Proxy Symbol uId) !(CalcSplitType splitType (x, [r])) !(RunningIndex i) !(Elm ls i) Source 
data Elm ((:!:) ls (Split uId splitType (ITbl m arr c j x))) = ElmSplitITbl !(Proxy Symbol uId) !(CalcSplitType splitType x) !(RunningIndex i) !(Elm ls i) Source 
type Arg ((:!:) ls (Backtrack (ITbl mF arr c j x) mF mB r)) = (:.) (Arg ls) (x, [r]) Source 
type Arg ((:!:) ls (ITbl m arr c j x)) = (:.) (Arg ls) x Source 
type Arg ((:!:) ls (Split uId splitType (Backtrack (ITbl mF arr c j x) mF mB r))) = (:.) (Arg ls) (CalcSplitType splitType (x, [r])) Source 
type Arg ((:!:) ls (Split uId splitType (ITbl m arr c j x))) = (:.) (Arg ls) (CalcSplitType splitType x) Source 
type RecElm ((:!:) ls (Backtrack (ITbl mF arr c j x) mF mB r)) i = Elm ls i Source 
type RecElm ((:!:) ls (ITbl m arr c j x)) i = Elm ls i Source 
type RecElm ((:!:) ls (Split uId splitType (Backtrack (ITbl mF arr c j x) mF mB r))) i = Elm ls i Source 
type RecElm ((:!:) ls (Split uId splitType (ITbl m arr c j x))) i = Elm ls i Source 
type AxiomStream (Backtrack (ITbl mF arr c i x) mF mB r) = mB [r] Source 
type TNE (Backtrack (ITbl mF arr EmptyOk i x) mF mB r) = Backtrack (ITbl mF arr NonEmpty i x) mF mB r Source 
type TE (Backtrack (ITbl mF arr EmptyOk i x) mF mB r) = Backtrack (ITbl mF arr EmptyOk i x) mF mB r Source 
type TermArg (Backtrack (ITbl mF arr c i x) mF mB r) = (x, [r]) Source 
type AxiomStream (ITbl m arr c i x) = m x Source 
type TNE (ITbl m arr EmptyOk i x) = ITbl m arr NonEmpty i x Source 
type TE (ITbl m arr EmptyOk i x) = ITbl m arr EmptyOk i x Source 
type Stack (ITbl m arr c i x) = (:!:) S (ITbl m arr c i x) 
type TermArg (ITbl m arr c i x) = x Source 
type BacktrackIndex (ITbl mF arr c i x) = i Source 
data Backtrack (ITbl mF arr c i x) mF = BtITbl !c !(arr i x) !(i -> i -> mB [r]) Source 

axiom stuff

Element

Multi-dim extensions