Portability | non-portable |
---|---|
Stability | experimental |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | None |
- newtype SAT m a = SAT {}
- class (Applicative m, Monad m) => MonadSAT m where
- sat :: (Problem -> (a, Problem)) -> m a
- literalExists :: m Literal
- literalForall :: m Literal
- assertFormula :: Formula -> m ()
- generateLiteral :: a -> (forall n. Literal -> SAT n ()) -> m Literal
The SAT Monad
class (Applicative m, Monad m) => MonadSAT m whereSource
sat :: (Problem -> (a, Problem)) -> m aSource
literalExists :: m LiteralSource
literalForall :: m LiteralSource
assertFormula :: Formula -> m ()Source
generateLiteral :: a -> (forall n. Literal -> SAT n ()) -> m LiteralSource
MonadSAT (SAT m) | |
MonadSAT m => MonadSAT (ReaderT r m) | |
MonadSAT m => MonadSAT (StateT s m) | |
MonadSAT m => MonadSAT (StateT s m) | |
(MonadSAT m, Monoid w) => MonadSAT (WriterT w m) | |
(MonadSAT m, Monoid w) => MonadSAT (WriterT w m) | |
(MonadSAT m, Monoid w) => MonadSAT (RWST r w s m) | |
(MonadSAT m, Monoid w) => MonadSAT (RWST r w s m) |