Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- module ADP.Fusion.Core.SynVar.Array.Type
- type ITblCx m pos ls arr x u c i = (TableStaticVar pos c u i, Element ls i, AddIndexDense (Z :. pos) (Elm (SynVar1 (Elm ls i)) (Z :. i)) (Z :. c) (Z :. u) (Z :. i), PrimArrayOps arr u x)
- iTblStream :: forall b s m pos posLeft ls arr x u c i. (ITblCx m pos ls arr x u c i, posLeft ~ LeftPosTy pos (TwITbl b s m arr c u x) i, MkStream m posLeft ls i) => Proxy pos -> Pair ls (TwITbl b s m arr c u x) -> Int# -> LimitType i -> i -> Stream m (Elm (ls :!: TwITbl b s m arr c u x) i)
- btITblStream :: forall b s mB mF pos posLeft ls arr x r u c i. (ITblCx mB pos ls arr x u c i, posLeft ~ LeftPosTy pos (TwITblBt b s arr c u x mF mB r) i, MkStream mB posLeft ls i) => Proxy pos -> Pair ls (TwITblBt b s arr c u x mF mB r) -> Int# -> LimitType i -> i -> Stream mB (Elm (ls :!: TwITblBt b s arr c u x mF mB r) i)
Documentation
type ITblCx m pos ls arr x u c i = (TableStaticVar pos c u i, Element ls i, AddIndexDense (Z :. pos) (Elm (SynVar1 (Elm ls i)) (Z :. i)) (Z :. c) (Z :. u) (Z :. i), PrimArrayOps arr u x) Source #
Constraints needed to use iTblStream
.
iTblStream :: forall b s m pos posLeft ls arr x u c i. (ITblCx m pos ls arr x u c i, posLeft ~ LeftPosTy pos (TwITbl b s m arr c u x) i, MkStream m posLeft ls i) => Proxy pos -> Pair ls (TwITbl b s m arr c u x) -> Int# -> LimitType i -> i -> Stream m (Elm (ls :!: TwITbl b s m arr c u x) i) Source #
General function for ITbl
s with skalar indices.
btITblStream :: forall b s mB mF pos posLeft ls arr x r u c i. (ITblCx mB pos ls arr x u c i, posLeft ~ LeftPosTy pos (TwITblBt b s arr c u x mF mB r) i, MkStream mB posLeft ls i) => Proxy pos -> Pair ls (TwITblBt b s arr c u x mF mB r) -> Int# -> LimitType i -> i -> Stream mB (Elm (ls :!: TwITblBt b s arr c u x mF mB r) i) Source #
General function for Backtrack ITbl
s with skalar indices.
Orphan instances
(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 # | |
(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 # | |
(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 # | |
(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 # | |