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

Safe HaskellNone
LanguageHaskell2010

ADP.Fusion.Core.SynVar.Array.Type

Contents

Synopsis

Documentation

data ITbl (bigorder :: Nat) (smallOrder :: Nat) arr c i x where Source #

Immutable table.

NOTE / TODO We can *NOT* move the little order into the type-level until we have a fully working TH-based table filler.

Constructors

ITbl 

Fields

Instances
(PrimArrayOps arr i x, MPrimArrayOps arr i x, isThisBigOrder ~ IsThisBigOrder bigOrder ts, isThisSmallOrder ~ IsThisSmallOrder smallOrder ts, isThisOrder ~ (isThisBigOrder && isThisSmallOrder), ThisSmallOrder bigOrder smallOrder isThisOrder ts i) => ThisSmallOrder bigOrder smallOrder True (ts :. TwITbl bo so Id arr c i x) i Source #

TODO generalize from Id to any monad in a stack with a primitive base

Instance details

Defined in ADP.Fusion.Core.SynVar.FillTyLvl

Methods

thisSmallOrder :: Proxy bigOrder -> Proxy smallOrder -> Proxy True -> (ts :. TwITbl bo so Id arr c i x) -> i -> ST s () Source #

SplitIxCol uId (SameSid uId (Elm ls i)) (Elm ls i) => SplitIxCol uId True (Elm (ls :!: Split sId splitType (TwITblBt b s arr c j x mF mB r)) i) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Split.Type

Associated Types

type SplitIxTy uId True (Elm (ls :!: Split sId splitType (TwITblBt b s arr c j x mF mB r)) i) :: Type Source #

Methods

splitIxCol :: Proxy uId -> Proxy True -> Elm (ls :!: Split sId splitType (TwITblBt b s arr c j x mF mB r)) i -> SplitIxTy uId True (Elm (ls :!: Split sId splitType (TwITblBt b s 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 (TwITbl b s m arr c j x)) i) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Split.Type

Associated Types

type SplitIxTy uId True (Elm (ls :!: Split sId splitType (TwITbl b s m arr c j x)) i) :: Type Source #

Methods

splitIxCol :: Proxy uId -> Proxy True -> Elm (ls :!: Split sId splitType (TwITbl b s m arr c j x)) i -> SplitIxTy uId True (Elm (ls :!: Split sId splitType (TwITbl b s m arr c j x)) i) Source #

(smallOrder ~ SmallOrderNats (ts :. TwITbl bo so m arr c i x), EachSmallOrder boNat smallOrder (ts :. TwITbl bo so m arr c i x) i, PrimArrayOps arr i x, IndexStream i) => ThisBigOrder boNat True (ts :. TwITbl bo so m arr c i x) Source #

We have found the first table for our big order. Extract the bounds and hand over to small order. We do not need to check for another big order with this nat, since all tables are now being filled by the small order.

Instance details

Defined in ADP.Fusion.Core.SynVar.FillTyLvl

Methods

thisBigOrder :: Proxy boNat -> Proxy True -> (ts :. TwITbl bo so m arr c i x) -> ST s () Source #

getAllBounds :: Proxy boNat -> Proxy True -> (ts :. TwITbl bo so m arr c i x) -> [()] Source #

(CountNumberOfCells n ts, Index i, PrimArrayOps arr i x, KnownNat n, KnownNat bo) => CountNumberOfCells n (ts :. TwITbl bo so Id arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.FillTyLvl

Methods

countNumberOfCells :: Maybe (Proxy n) -> (ts :. TwITbl bo so Id arr c i x) -> Integer Source #

(Monad mB, ITblCx mB pos ls arr x u c (i O), MkStream mB (LeftPosTy pos (TwITblBt b s arr c u x mF mB r) (i O)) ls (i O)) => MkStream mB (pos :: Type) (ls :!: TwITblBt b s arr c u x mF mB r) (i O) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array

Methods

mkStream :: Proxy pos -> (ls :!: TwITblBt b s arr c u x mF mB r) -> Int# -> LimitType (i O) -> i O -> Stream mB (Elm (ls :!: TwITblBt b s arr c u x mF mB r) (i O)) Source #

(Monad m, ITblCx m pos ls arr x u c (i O), MkStream m (LeftPosTy pos (TwITbl b s m arr c u x) (i O)) ls (i O)) => MkStream m (pos :: Type) (ls :!: TwITbl b s m arr c u x) (i O) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array

Methods

mkStream :: Proxy pos -> (ls :!: TwITbl b s m arr c u x) -> Int# -> LimitType (i O) -> i O -> Stream m (Elm (ls :!: TwITbl b s m arr c u x) (i O)) Source #

(Monad mB, ITblCx mB pos ls arr x u c (i I), MkStream mB (LeftPosTy pos (TwITblBt b s arr c u x mF mB r) (i I)) ls (i I)) => MkStream mB (pos :: Type) (ls :!: TwITblBt b s arr c u x mF mB r) (i I) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array

Methods

mkStream :: Proxy pos -> (ls :!: TwITblBt b s arr c u x mF mB r) -> Int# -> LimitType (i I) -> i I -> Stream mB (Elm (ls :!: TwITblBt b s arr c u x mF mB r) (i I)) Source #

(Monad m, ITblCx m pos ls arr x u c (i I), MkStream m (LeftPosTy pos (TwITbl b s m arr c u x) (i I)) ls (i I)) => MkStream m (pos :: Type) (ls :!: TwITbl b s m arr c u x) (i I) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array

Methods

mkStream :: Proxy pos -> (ls :!: TwITbl b s m arr c u x) -> Int# -> LimitType (i I) -> i I -> Stream m (Elm (ls :!: TwITbl b s m arr c u x) (i I)) Source #

(Monad mB, pos ~ (ps :. p), posLeft ~ LeftPosTy pos (TwITblBt b s arr (cs :. c) (us :. u) x mF mB r) (is :. i), Element ls (is :. i), TableStaticVar (ps :. p) (cs :. c) (us :. u) (is :. i), AddIndexDense pos (Elm ls (is :. i)) (cs :. c) (us :. u) (is :. i), MkStream mB posLeft ls (is :. i), PrimArrayOps arr (us :. u) x) => MkStream mB (ps :. p :: Type) (ls :!: TwITblBt b s arr (cs :. c) (us :. u) x mF mB r) (is :. i) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

Methods

mkStream :: Proxy (ps :. p) -> (ls :!: TwITblBt b s arr (cs :. c) (us :. u) x mF mB r) -> Int# -> LimitType (is :. i) -> (is :. i) -> Stream mB (Elm (ls :!: TwITblBt b s arr (cs :. c) (us :. u) x mF mB r) (is :. i)) Source #

(Monad m, pos ~ (ps :. p), posLeft ~ LeftPosTy pos (TwITbl b s m arr (cs :. c) (us :. u) x) (is :. i), Element ls (is :. i), TableStaticVar (ps :. p) (cs :. c) (us :. u) (is :. i), AddIndexDense pos (Elm ls (is :. i)) (cs :. c) (us :. u) (is :. i), MkStream m posLeft ls (is :. i), PrimArrayOps arr (us :. u) x) => MkStream m (ps :. p :: Type) (ls :!: TwITbl b s m arr (cs :. c) (us :. u) x) (is :. i) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

Methods

mkStream :: Proxy (ps :. p) -> (ls :!: TwITbl b s m arr (cs :. c) (us :. u) x) -> Int# -> LimitType (is :. i) -> (is :. i) -> Stream m (Elm (ls :!: TwITbl b s m arr (cs :. c) (us :. u) x) (is :. i)) Source #

(Show x, Show i, Show (RunningIndex i), Show (Elm ls i)) => Show (Elm (ls :!: TwITblBt b s arr c i x mF mB r) i) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

Methods

showsPrec :: Int -> Elm (ls :!: TwITblBt b s arr c i x mF mB r) i -> ShowS #

show :: Elm (ls :!: TwITblBt b s arr c i x mF mB r) i -> String #

showList :: [Elm (ls :!: TwITblBt b s arr c i x mF mB r) i] -> ShowS #

(Show i, Show (RunningIndex i), Show (Elm ls i), Show x) => Show (Elm (ls :!: TwITbl b s m arr c j x) i) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

Methods

showsPrec :: Int -> Elm (ls :!: TwITbl b s m arr c j x) i -> ShowS #

show :: Elm (ls :!: TwITbl b s m arr c j x) i -> String #

showList :: [Elm (ls :!: TwITbl b s m arr c j x) i] -> ShowS #

(Monad mB, PrimArrayOps arr i x, IndexStream i, j ~ i, m ~ mB) => Axiom (TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType j -> j -> m [r])) Source #

We need this somewhat annoying instance construction (i ~ j and m ~ mB) in order to force selection of this instance.

Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

Associated Types

type AxiomStream (TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType j -> j -> m [r])) :: Type Source #

type AxiomIx (TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType j -> j -> m [r])) :: Type Source #

Methods

axiom :: TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType j -> j -> m [r]) -> AxiomStream (TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType j -> j -> m [r])) Source #

axiomAt :: TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType j -> j -> m [r]) -> AxiomIx (TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType j -> j -> m [r])) -> AxiomStream (TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType j -> j -> m [r])) Source #

Element ls i => Element (ls :!: TwITblBt b s arr c j x mF mB r) i Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

Associated Types

data Elm (ls :!: TwITblBt b s arr c j x mF mB r) i :: Type Source #

type RecElm (ls :!: TwITblBt b s arr c j x mF mB r) i :: Type Source #

type Arg (ls :!: TwITblBt b s arr c j x mF mB r) :: Type Source #

Methods

getArg :: Elm (ls :!: TwITblBt b s arr c j x mF mB r) i -> Arg (ls :!: TwITblBt b s arr c j x mF mB r) Source #

getIdx :: Elm (ls :!: TwITblBt b s arr c j x mF mB r) i -> RunningIndex i Source #

getElm :: Elm (ls :!: TwITblBt b s arr c j x mF mB r) i -> RecElm (ls :!: TwITblBt b s arr c j x mF mB r) i Source #

Element ls i => Element (ls :!: TwITbl b s m arr c j x) i Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

Associated Types

data Elm (ls :!: TwITbl b s m arr c j x) i :: Type Source #

type RecElm (ls :!: TwITbl b s m arr c j x) i :: Type Source #

type Arg (ls :!: TwITbl b s m arr c j x) :: Type Source #

Methods

getArg :: Elm (ls :!: TwITbl b s m arr c j x) i -> Arg (ls :!: TwITbl b s m arr c j x) Source #

getIdx :: Elm (ls :!: TwITbl b s m arr c j x) i -> RunningIndex i Source #

getElm :: Elm (ls :!: TwITbl b s m arr c j x) i -> RecElm (ls :!: TwITbl b s m arr c j x) i Source #

Element ls i => Element (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) i Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Split.Type

Associated Types

data Elm (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) i :: Type Source #

type RecElm (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) i :: Type Source #

type Arg (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) :: Type Source #

Methods

getArg :: Elm (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) i -> Arg (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) Source #

getIdx :: Elm (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) i -> RunningIndex i Source #

getElm :: Elm (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) i -> RecElm (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) i Source #

Element ls i => Element (ls :!: Split uId splitType (TwITbl b s m arr c j x)) i Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Split.Type

Associated Types

data Elm (ls :!: Split uId splitType (TwITbl b s m arr c j x)) i :: Type Source #

type RecElm (ls :!: Split uId splitType (TwITbl b s m arr c j x)) i :: Type Source #

type Arg (ls :!: Split uId splitType (TwITbl b s m arr c j x)) :: Type Source #

Methods

getArg :: Elm (ls :!: Split uId splitType (TwITbl b s m arr c j x)) i -> Arg (ls :!: Split uId splitType (TwITbl b s m arr c j x)) Source #

getIdx :: Elm (ls :!: Split uId splitType (TwITbl b s m arr c j x)) i -> RunningIndex i Source #

getElm :: Elm (ls :!: Split uId splitType (TwITbl b s m arr c j x)) i -> RecElm (ls :!: Split uId splitType (TwITbl b s m arr c j x)) i Source #

Build (TwITbl b s m arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

Associated Types

type Stack (TwITbl b s m arr c i x) :: Type Source #

Methods

build :: TwITbl b s m arr c i x -> Stack (TwITbl b s m arr c i x) Source #

(Monad m, PrimArrayOps arr i x, IndexStream i) => Axiom (TwITbl b s m arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

Associated Types

type AxiomStream (TwITbl b s m arr c i x) :: Type Source #

type AxiomIx (TwITbl b s m arr c i x) :: Type Source #

Methods

axiom :: TwITbl b s m arr c i x -> AxiomStream (TwITbl b s m arr c i x) Source #

axiomAt :: TwITbl b s m arr c i x -> AxiomIx (TwITbl b s m arr c i x) -> AxiomStream (TwITbl b s m arr c i x) Source #

GenBacktrackTable (TwITbl b s mF arr c i x) mF mB Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

Associated Types

data Backtrack (TwITbl b s mF arr c i x) mF mB :: Type Source #

type BacktrackIndex (TwITbl b s mF arr c i x) :: Type Source #

Methods

toBacktrack :: TwITbl b s mF arr c i x -> (forall a. mF a -> mB a) -> Backtrack (TwITbl b s mF arr c i x) mF mB Source #

(Show c, Show (arr i x)) => Show (ITbl bo so arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

Methods

showsPrec :: Int -> ITbl bo so arr c i x -> ShowS #

show :: ITbl bo so arr c i x -> String #

showList :: [ITbl bo so arr c i x] -> ShowS #

Build (TwITblBt b s arr c i x mF mB r) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

Associated Types

type Stack (TwITblBt b s arr c i x mF mB r) :: Type Source #

Methods

build :: TwITblBt b s arr c i x mF mB r -> Stack (TwITblBt b s arr c i x mF mB r) Source #

type SplitIxTy uId True (Elm (ls :!: Split sId splitType (TwITblBt b s arr c j x mF mB r)) i) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Split.Type

type SplitIxTy uId True (Elm (ls :!: Split sId splitType (TwITblBt b s arr c j x mF mB r)) i) = SplitIxTy uId (SameSid uId (Elm ls i)) (Elm ls i) :. i
type SplitIxTy uId True (Elm (ls :!: Split sId splitType (TwITbl b s m arr c j x)) i) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Split.Type

type SplitIxTy uId True (Elm (ls :!: Split sId splitType (TwITbl b s m arr c j x)) i) = SplitIxTy uId (SameSid uId (Elm ls i)) (Elm ls i) :. i
type IsThisSmallOrder n (ts :. TwITbl bo so m arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.FillTyLvl

type IsThisSmallOrder n (ts :. TwITbl bo so m arr c i x) = n == so
type IsThisBigOrder n (ts :. TwITbl bo so m arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.FillTyLvl

type IsThisBigOrder n (ts :. TwITbl bo so m arr c i x) = n == bo
type LeftPosTy Z (TwITbl b s m arr Z Z x) Z Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type LeftPosTy Z (TwITbl b s m arr Z Z x) Z = Z
type LeftPosTy Z (TwITbl b s m arr EmptyOk Z x) Z Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type LeftPosTy Z (TwITbl b s m arr EmptyOk Z x) Z = Z
type LeftPosTy Complement (TwITbl b s m arr EmptyOk (PointL O) x) (PointL C) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy Complement (TwITbl b s m arr EmptyOk (PointL I) x) (PointL C) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy Complement (TwITbl b s m arr EmptyOk (Unit O) x) (Unit C) Source # 
Instance details

Defined in ADP.Fusion.Unit.SynVar.Indices

type LeftPosTy Complement (TwITbl b s m arr EmptyOk (Unit I) x) (Unit C) Source # 
Instance details

Defined in ADP.Fusion.Unit.SynVar.Indices

type LeftPosTy Z (TwITblBt b s arr Z Z x mF mB r) Z Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type LeftPosTy Z (TwITblBt b s arr Z Z x mF mB r) Z = Z
type LeftPosTy Z (TwITblBt b s arr EmptyOk Z x mF mB r) Z Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type LeftPosTy Z (TwITblBt b s arr EmptyOk Z x mF mB r) Z = Z
type LeftPosTy Complement (TwITblBt b s arr EmptyOk (PointL O) x mB mF r) (PointL C) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy Complement (TwITblBt b s arr EmptyOk (PointL O) x mB mF r) (PointL C) = Complement
type LeftPosTy Complement (TwITblBt b s arr EmptyOk (PointL I) x mB mF r) (PointL C) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy Complement (TwITblBt b s arr EmptyOk (PointL I) x mB mF r) (PointL C) = Complement
type LeftPosTy Complement (TwITblBt b s arr EmptyOk (Unit O) x mB mF r) (Unit C) Source # 
Instance details

Defined in ADP.Fusion.Unit.SynVar.Indices

type LeftPosTy Complement (TwITblBt b s arr EmptyOk (Unit O) x mB mF r) (Unit C) = Complement
type LeftPosTy Complement (TwITblBt b s arr EmptyOk (Unit I) x mB mF r) (Unit C) Source # 
Instance details

Defined in ADP.Fusion.Unit.SynVar.Indices

type LeftPosTy Complement (TwITblBt b s arr EmptyOk (Unit I) x mB mF r) (Unit C) = Complement
data Elm (ls :!: TwITbl b s m arr c j x) i Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

data Elm (ls :!: TwITbl b s m arr c j x) i = ElmITbl !x !(RunningIndex i) !(Elm ls i)
data Elm (ls :!: TwITblBt b s arr c j x mF mB r) i Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

data Elm (ls :!: TwITblBt b s arr c j x mF mB r) i = ElmBtITbl !x [r] !(RunningIndex i) !(Elm ls i)
data Elm (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) i Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Split.Type

data Elm (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) i = ElmSplitBtITbl !(Proxy uId) !(CalcSplitType splitType (x, [r])) !(RunningIndex i) !(Elm ls i) !i
data Elm (ls :!: Split uId splitType (TwITbl b s m arr c j x)) i Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Split.Type

data Elm (ls :!: Split uId splitType (TwITbl b s m arr c j x)) i = ElmSplitITbl !(Proxy uId) !(CalcSplitType splitType x) !(RunningIndex i) !(Elm ls i) !i
type Arg (ls :!: TwITbl b s m arr c j x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type Arg (ls :!: TwITbl b s m arr c j x) = Arg ls :. x
type Arg (ls :!: TwITblBt b s arr c j x mF mB r) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type Arg (ls :!: TwITblBt b s arr c j x mF mB r) = Arg ls :. (x, [r])
type Arg (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Split.Type

type Arg (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) = Arg ls :. CalcSplitType splitType (x, [r])
type Arg (ls :!: Split uId splitType (TwITbl b s m arr c j x)) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Split.Type

type Arg (ls :!: Split uId splitType (TwITbl b s m arr c j x)) = Arg ls :. CalcSplitType splitType x
type AxiomStream (TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType j -> j -> m [r])) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type AxiomStream (TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType j -> j -> m [r])) = mB [r]
type AxiomIx (TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType j -> j -> m [r])) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type AxiomIx (TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType j -> j -> m [r])) = i
type SmallOrderNats' (ts :. TwITbl bo so m arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.FillTyLvl

type SmallOrderNats' (ts :. TwITbl bo so m arr c i x) = so ': SmallOrderNats' ts
type BigOrderNats' (ts :. TwITbl bo so m arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.FillTyLvl

type BigOrderNats' (ts :. TwITbl bo so m arr c i x) = bo ': BigOrderNats' ts
type RecElm (ls :!: TwITbl b s m arr c j x) i Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type RecElm (ls :!: TwITbl b s m arr c j x) i = Elm ls i
type RecElm (ls :!: TwITblBt b s arr c j x mF mB r) i Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type RecElm (ls :!: TwITblBt b s arr c j x mF mB r) i = Elm ls i
type RecElm (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) i Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Split.Type

type RecElm (ls :!: Split uId splitType (TwITblBt b s arr c j x mF mB r)) i = Elm ls i
type RecElm (ls :!: Split uId splitType (TwITbl b s m arr c j x)) i Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Split.Type

type RecElm (ls :!: Split uId splitType (TwITbl b s m arr c j x)) i = Elm ls i
type LeftPosTy (ps :. p) (TwITbl b s m arr (eos :. EmptyOk) (us :. u) x) (is :. i) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type LeftPosTy (ps :. p) (TwITbl b s m arr (eos :. EmptyOk) (us :. u) x) (is :. i) = LeftPosTy ps (TwITbl b s m arr eos us x) is :. LeftPosTy p (TwITbl b s m arr EmptyOk u x) i
type LeftPosTy (IVariable d) (TwITbl b s m arr EmptyOk (PointL I) x) (PointL I) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy (IVariable d) (TwITbl b s m arr EmptyOk (PointL I) x) (PointL I) = IVariable d
type LeftPosTy (IVariable d) (TwITbl b s m arr EmptyOk (PointR I) x) (PointR I) Source # 
Instance details

Defined in ADP.Fusion.PointR.SynVar.Indices

type LeftPosTy (IVariable d) (TwITbl b s m arr EmptyOk (PointR I) x) (PointR I) = IVariable d
type LeftPosTy (IStatic d) (TwITbl b s m arr EmptyOk (PointL I) x) (PointL I) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy (IStatic d) (TwITbl b s m arr EmptyOk (PointL I) x) (PointL I) = IVariable d
type LeftPosTy (IStatic d) (TwITbl b s m arr EmptyOk (PointR I) x) (PointR I) Source # 
Instance details

Defined in ADP.Fusion.PointR.SynVar.Indices

type LeftPosTy (IStatic d) (TwITbl b s m arr EmptyOk (PointR I) x) (PointR I) = IVariable d
type LeftPosTy (IStatic d) (TwITbl b s m arr EmptyOk (Unit I) x) (Unit I) Source # 
Instance details

Defined in ADP.Fusion.Unit.SynVar.Indices

type LeftPosTy (IStatic d) (TwITbl b s m arr EmptyOk (Unit I) x) (Unit I) = IStatic d
type LeftPosTy (OLeftOf d) (TwITbl b s m arr EmptyOk (PointL O) x) (PointL O) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy (OLeftOf d) (TwITbl b s m arr EmptyOk (PointL O) x) (PointL O) = (TypeError (Text "OLeftOf is illegal for outside tables. Check your grammars for multiple Outside syntactic variable on the r.h.s!") :: Type)
type LeftPosTy (OFirstLeft d) (TwITbl b s m arr EmptyOk (PointL O) x) (PointL O) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy (OFirstLeft d) (TwITbl b s m arr EmptyOk (PointL O) x) (PointL O) = (TypeError (Text "OFirstLeft is illegal for outside tables. Check your grammars for multiple Outside syntactic variable on the r.h.s!") :: Type)
type LeftPosTy (OStatic d) (TwITbl b s m arr EmptyOk (PointL O) x) (PointL O) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy (OStatic d) (TwITbl b s m arr EmptyOk (PointL O) x) (PointL O) = OFirstLeft d
type LeftPosTy (OStatic d) (TwITbl b s m arr EmptyOk (Unit O) x) (Unit O) Source # 
Instance details

Defined in ADP.Fusion.Unit.SynVar.Indices

type LeftPosTy (OStatic d) (TwITbl b s m arr EmptyOk (Unit O) x) (Unit O) = OStatic d
type LeftPosTy (ps :. p) (TwITblBt b s arr (eos :. EmptyOk) (us :. u) x mF mB r) (is :. i) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type LeftPosTy (ps :. p) (TwITblBt b s arr (eos :. EmptyOk) (us :. u) x mF mB r) (is :. i) = LeftPosTy ps (TwITblBt b s arr eos us x mF mB r) is :. LeftPosTy p (TwITblBt b s arr EmptyOk u x mF mB r) i
type LeftPosTy (IVariable d) (TwITblBt b s arr EmptyOk (PointL I) x mB mF r) (PointL I) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy (IVariable d) (TwITblBt b s arr EmptyOk (PointL I) x mB mF r) (PointL I) = IVariable d
type LeftPosTy (IVariable d) (TwITblBt b s arr EmptyOk (PointR I) x mB mF r) (PointR I) Source # 
Instance details

Defined in ADP.Fusion.PointR.SynVar.Indices

type LeftPosTy (IVariable d) (TwITblBt b s arr EmptyOk (PointR I) x mB mF r) (PointR I) = IVariable d
type LeftPosTy (IStatic d) (TwITblBt b s arr EmptyOk (PointL I) x mB mF r) (PointL I) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy (IStatic d) (TwITblBt b s arr EmptyOk (PointL I) x mB mF r) (PointL I) = IVariable d
type LeftPosTy (IStatic d) (TwITblBt b s arr EmptyOk (PointR I) x mB mF r) (PointR I) Source # 
Instance details

Defined in ADP.Fusion.PointR.SynVar.Indices

type LeftPosTy (IStatic d) (TwITblBt b s arr EmptyOk (PointR I) x mB mF r) (PointR I) = IVariable d
type LeftPosTy (IStatic d) (TwITblBt b s arr EmptyOk (Unit I) x mB mF r) (Unit I) Source # 
Instance details

Defined in ADP.Fusion.Unit.SynVar.Indices

type LeftPosTy (IStatic d) (TwITblBt b s arr EmptyOk (Unit I) x mB mF r) (Unit I) = IStatic d
type LeftPosTy (OLeftOf d) (TwITblBt s b arr EmptyOk (PointL O) x mB mF r) (PointL O) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy (OLeftOf d) (TwITblBt s b arr EmptyOk (PointL O) x mB mF r) (PointL O) = (TypeError (Text "OLeftOf is illegal for outside tables. Check your grammars for multiple Outside syntactic variable on the r.h.s!") :: Type)
type LeftPosTy (OFirstLeft d) (TwITblBt b s arr EmptyOk (PointL O) x mB mF r) (PointL O) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy (OFirstLeft d) (TwITblBt b s arr EmptyOk (PointL O) x mB mF r) (PointL O) = (TypeError (Text "OFirstLeft is illegal for outside tables. Check your grammars for multiple Outside syntactic variable on the r.h.s!") :: Type)
type LeftPosTy (OStatic d) (TwITblBt b s arr EmptyOk (PointL O) x mB mF r) (PointL O) Source # 
Instance details

Defined in ADP.Fusion.PointL.SynVar.Indices

type LeftPosTy (OStatic d) (TwITblBt b s arr EmptyOk (PointL O) x mB mF r) (PointL O) = OFirstLeft d
type LeftPosTy (OStatic d) (TwITblBt b s arr EmptyOk (Unit O) x mB mF r) (Unit O) Source # 
Instance details

Defined in ADP.Fusion.Unit.SynVar.Indices

type LeftPosTy (OStatic d) (TwITblBt b s arr EmptyOk (Unit O) x mB mF r) (Unit O) = OStatic d
type Stack (TwITbl b s m arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type Stack (TwITbl b s m arr c i x) = S :!: TwITbl b s m arr c i x
type AxiomStream (TwITbl b s m arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type AxiomStream (TwITbl b s m arr c i x) = m x
type AxiomIx (TwITbl b s m arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type AxiomIx (TwITbl b s m arr c i x) = i
type BacktrackIndex (TwITbl b s mF arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type BacktrackIndex (TwITbl b s mF arr c i x) = i
type TermArg (TwITbl b s m arr c i x) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type TermArg (TwITbl b s m arr c i x) = x
data Backtrack (TwITbl b s mF arr c i x) mF mB Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

data Backtrack (TwITbl b s mF arr c i x) mF mB = BtITbl !c !(arr i x)
type Stack (TwITblBt b s arr c i x mF mB r) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type Stack (TwITblBt b s arr c i x mF mB r) = S :!: TwITblBt b s arr c i x mF mB r
type TermArg (TwITblBt b s arr c i x mF mB r) Source # 
Instance details

Defined in ADP.Fusion.Core.SynVar.Array.Type

type TermArg (TwITblBt b s arr c i x mF mB r) = (x, [r])

type TwITbl (b :: Nat) (s :: Nat) (m :: * -> *) arr c i x = TW (ITbl b s arr c i x) (LimitType i -> i -> m x) Source #

type TwITblBt b s arr c i x mF mB r = TW (Backtrack (TwITbl b s mF arr c i x) mF mB) (LimitType i -> i -> mB [r]) Source #

axiom stuff

Element

Multi-dim extensions