ersatz-0.3: A monad for expressing SAT or QSAT problems using observable sharing.

Copyright© Edward Kmett 2010-2014, Johan Kiviniemi 2013
LicenseBSD3
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ersatz.Variable

Description

 

Synopsis

Documentation

class Variable t where Source

Instances for this class for product-like types can be automatically derived for any type that is an instance of Generic.

Minimal complete definition

Nothing

Methods

literally :: (HasSAT s, MonadState s m) => m Literal -> m t Source

Instances

forall :: (Variable a, MonadState s m, HasQSAT s) => m a Source

exists :: (Variable a, MonadState s m, HasSAT s) => m a Source

class GVariable f where Source

Methods

gliterally :: (MonadState s m, HasSAT s) => m Literal -> m (f a) Source

Instances

GVariable U1 
Variable a => GVariable (K1 i a) 
(GVariable f, GVariable g) => GVariable ((:*:) f g) 
GVariable f => GVariable (M1 i c f)