Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
class (Solver s, Term s t, Show (TermBaseType s t)) => EnumTerm s t where Source #
type TermBaseType s t :: * Source #
getDomainSize :: t -> s Int Source #
getDomain :: t -> s [TermBaseType s t] Source #
setValue :: t -> TermBaseType s t -> s [Constraint s] Source #
splitDomain :: t -> s ([[Constraint s]], Bool) Source #
splitDomains :: [t] -> s ([[Constraint s]], [t]) Source #
getValue :: t -> s (Maybe (TermBaseType s t)) Source #
defaultOrder :: [t] -> s [t] Source #
enumerator :: (MonadTree m, TreeSolver m ~ s) => Maybe ([t] -> m ()) Source #
assignment :: (EnumTerm s t, MonadTree m, TreeSolver m ~ s) => t -> m (TermBaseType s t) Source #
assignments :: (EnumTerm s t, MonadTree m, TreeSolver m ~ s) => [t] -> m [TermBaseType s t] Source #