monadiccp-0.6.1: Constraint Programming

Control.CP.FD.FD

Documentation

type FDExpr s = Expr (FDTerm s)Source

data Show (FDTerm s) => FDConstraint s Source

Constructors

Less (Expr (FDTerm s)) (Expr (FDTerm s)) 
Diff (Expr (FDTerm s)) (Expr (FDTerm s)) 
Same (Expr (FDTerm s)) (Expr (FDTerm s)) 
Dom (Expr (FDTerm s)) Integer Integer 
AllDiff [Expr (FDTerm s)] 
Sorted [Expr (FDTerm s)] Bool 

Instances

newtype FDWrapper s a Source

Constructors

FDWrapper 

Fields

subFD :: s a
 

Instances

FDSolver s => Monad (FDWrapper s) 
FDSolver s => Solver (FDWrapper s) 
(t ~ Expr (FDTerm s), FDSolver s) => Term (FDWrapper s) t 
(FDTerm s ~ t, FDSolver s, Eq t, EnumTerm s t, Integral (TermDomain s t)) => EnumTerm (FDWrapper s) (Expr t) 

type FDTree s a = Tree (FDWrapper s) aSource

newtype FDLabel s Source

Constructors

FDLabel (Label s) 

wrap :: forall s a. FDSolver s => Tree s a -> Tree (FDWrapper s) aSource

unwrap :: forall s a. FDSolver s => Tree (FDWrapper s) a -> Tree s aSource

(@:) :: (FDConstraint s ~ Constraint (TreeSolver tree), MonadTree tree, Integral t, Integral t1, Show (FDTerm s)) => Expr (FDTerm s) -> (t, t1) -> tree ()Source

(@<) :: (FDConstraint s ~ Constraint (TreeSolver tree), MonadTree tree, Show (FDTerm s)) => Expr (FDTerm s) -> Expr (FDTerm s) -> tree ()Source

(@>) :: (FDConstraint s ~ Constraint (TreeSolver tree), MonadTree tree, Show (FDTerm s)) => Expr (FDTerm s) -> Expr (FDTerm s) -> tree ()Source

(@<=) :: (FDConstraint s ~ Constraint (TreeSolver tree), MonadTree tree, Eq (FDTerm s), Show (FDTerm s)) => Expr (FDTerm s) -> Expr (FDTerm s) -> tree ()Source

(@>=) :: (FDConstraint s ~ Constraint (TreeSolver tree), MonadTree tree, Eq (FDTerm s), Show (FDTerm s)) => Expr (FDTerm s) -> Expr (FDTerm s) -> tree ()Source

(@=) :: (FDConstraint s ~ Constraint (TreeSolver tree), MonadTree tree, Show (FDTerm s)) => Expr (FDTerm s) -> Expr (FDTerm s) -> tree ()Source

(@/=) :: (FDConstraint s ~ Constraint (TreeSolver tree), MonadTree tree, Show (FDTerm s)) => Expr (FDTerm s) -> Expr (FDTerm s) -> tree ()Source

(@+) :: (ToExpr tt t, ToExpr tt t1, Eq tt, Show tt) => t -> t1 -> Expr ttSource

(@-) :: (ToExpr tt t, ToExpr tt t1, Eq tt, Show tt) => t -> t1 -> Expr ttSource

(@*) :: (ToExpr tt t, ToExpr tt t1, Eq tt, Show tt) => t -> t1 -> Expr ttSource

(@/) :: (ToExpr tt t, ToExpr tt t1, Eq tt, Show tt) => t -> t1 -> Expr ttSource

(@%) :: (ToExpr tt t, ToExpr tt t1, Eq tt, Show tt) => t -> t1 -> Expr ttSource

cte :: (Num a, Integral a1) => a1 -> aSource

allDiff :: (FDConstraint s ~ Constraint (TreeSolver tree), MonadTree tree, Show (FDTerm s)) => [Expr (FDTerm s)] -> tree ()Source

sorted :: (FDConstraint s ~ Constraint (TreeSolver tree), MonadTree tree, Show (FDTerm s)) => [Expr (FDTerm s)] -> tree ()Source

sSorted :: (FDConstraint s ~ Constraint (TreeSolver tree), MonadTree tree, Show (FDTerm s)) => [Expr (FDTerm s)] -> tree ()Source

allin :: (FDConstraint s ~ Constraint (TreeSolver tree), MonadTree tree, Integral t, Integral t1, Show (FDTerm s)) => [Expr (FDTerm s)] -> (t, t1) -> tree ()Source