# 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

data NodeBoundedST solver a Source

Solver solver => Transformer (NodeBoundedST solver a) |

data DepthBoundedST solver a Source

Solver solver => Transformer (DepthBoundedST solver a) |

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

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) |