Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
IRec :: !(TblConstraint i) -> !i -> !i -> !(i -> i -> m x) -> IRec m i x | |
|
Element ls i => Element ((:!:) ls (Backtrack (IRec mF i x) mF mB r)) i | |
Element ls i => Element ((:!:) ls (IRec m i x)) i | |
(Monad m, IndexStream i) => Axiom (IRec m i x) | |
Build (IRec m i x) | |
GenBacktrackTable (IRec mF i x) mF mB r | |
(Monad mB, IndexStream i) => Axiom (Backtrack (IRec mF i x) mF mB r) | |
type Arg ((:!:) ls (Backtrack (IRec mF i x) mF mB r)) = (:.) (Arg ls) (x, mB (Stream mB r)) | |
type Arg ((:!:) ls (IRec m i x)) = (:.) (Arg ls) x | |
data Elm ((:!:) ls (Backtrack (IRec mF i x) mF mB r)) i = ElmBtIRec !x !(mB (Stream mB r)) !i !i !(Elm ls i) | |
data Elm ((:!:) ls (IRec m i x)) i = ElmIRec !x !i !i !(Elm ls i) | |
type AxiomStream (IRec m i x) = m x | |
type Stack (IRec m i x) = (:!:) S (IRec m i x) | |
type BacktrackIndex (IRec mF i x) = i | |
data Backtrack (IRec mF i x) mF = BtIRec !(TblConstraint i) !i !i (i -> i -> mB x) (i -> i -> mB [r]) | |
type AxiomStream (Backtrack (IRec mF i x) mF mB r) = mB [r] |