Documentation
eval :: (Solver solver, Queue q, Elem q ~ (Label solver, Tree solver (ForResult t), TreeState t), Transformer t, ForSolver t ~ solver) => Tree solver (ForResult t) -> q -> t -> solver (Int, [ForResult t])Source
continue :: ContinueSig solver q t (ForResult t)Source
type SearchSig solver q t a = (Solver solver, Queue q, Transformer t, Elem q ~ (Label solver, Tree solver a, TreeState t), ForSolver t ~ solver) => Int -> Tree solver a -> q -> t -> EvalState t -> TreeState t -> solver (Int, [a])Source
type ContinueSig solver q t a = (Solver solver, Queue q, Transformer t, Elem q ~ (Label solver, Tree solver a, TreeState t), ForSolver t ~ solver) => Int -> q -> t -> EvalState t -> solver (Int, [a])Source
class Transformer t whereSource
leftT :: t -> EvalState t -> TreeState t -> TreeState tSource
rightT :: t -> EvalState t -> TreeState t -> TreeState tSource
nextT :: SearchSig (ForSolver t) q t (ForResult t)Source
initT :: t -> Tree (ForSolver t) (ForResult t) -> ForSolver t (EvalState t, TreeState t)Source
returnT :: ContinueSig solver q t (ForResult t)Source
endT :: ContinueSig solver q t (ForResult t)Source
Solver solver => Transformer (NodeBoundedST solver a) | |
Solver solver => Transformer (DepthBoundedST solver a) | |
Solver solver => Transformer (RestartST es ts solver a) | |
Solver solver => Transformer (TStack es ts solver a) |
newtype DepthBoundedST solver a Source
Solver solver => Transformer (DepthBoundedST solver a) |