satchmo-2.9.9.4: SAT encoding monad
Safe HaskellSafe-Inferred
LanguageHaskell2010

Satchmo.SAT.External

Description

call an external solver as separate process, communicate via pipes.

Documentation

data SAT a Source #

Instances

Instances details
MonadIO SAT Source # 
Instance details

Defined in Satchmo.SAT.External

Methods

liftIO :: IO a -> SAT a #

Applicative SAT Source # 
Instance details

Defined in Satchmo.SAT.External

Methods

pure :: a -> SAT a #

(<*>) :: SAT (a -> b) -> SAT a -> SAT b #

liftA2 :: (a -> b -> c) -> SAT a -> SAT b -> SAT c #

(*>) :: SAT a -> SAT b -> SAT b #

(<*) :: SAT a -> SAT b -> SAT a #

Functor SAT Source # 
Instance details

Defined in Satchmo.SAT.External

Methods

fmap :: (a -> b) -> SAT a -> SAT b #

(<$) :: a -> SAT b -> SAT a #

Monad SAT Source # 
Instance details

Defined in Satchmo.SAT.External

Methods

(>>=) :: SAT a -> (a -> SAT b) -> SAT b #

(>>) :: SAT a -> SAT b -> SAT b #

return :: a -> SAT a #

MonadSAT SAT Source # 
Instance details

Defined in Satchmo.SAT.External

Associated Types

type Decoder SAT :: Type -> Type Source #

type Decoder SAT Source # 
Instance details

Defined in Satchmo.SAT.External

emit :: MonadSAT m => Clause -> m () Source #

solve Source #

Arguments

:: String

command, e.g., glucose

-> [String]

options, e.g., -model

-> SAT (Dec a)

action that builds the formula and returns the decoder

-> IO (Maybe a)