monadiccp-0.5.1: Constraint Programming

Control.CP.Transformers

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

eval' :: SearchSig 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

Associated Types

type EvalState t :: *Source

type TreeState t :: *Source

type ForSolver t :: * -> *Source

type ForResult t :: *Source

Instances

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

Constructors

DBST Int 

Instances

Solver solver => Transformer (DepthBoundedST solver a) 

newtype NodeBoundedST solver a Source

Constructors

NBST Int 

Instances

Solver solver => Transformer (NodeBoundedST solver a)