| Copyright | © Edward Kmett 2010-2014 Johan Kiviniemi 2013 |
|---|---|
| License | BSD3 |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Ersatz.Variable
Description
Synopsis
- class Variable t where
- forall :: (Variable a, MonadState s m, HasQSAT s) => m a
- exists :: (Variable a, MonadState s m, HasSAT s) => m a
- class GVariable f where
- genericLiterally :: (HasSAT s, MonadState s m, Generic t, GVariable (Rep t)) => m Literal -> m t
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.
Methods
literally :: (HasSAT s, MonadState s m) => m Literal -> m t Source #
literally :: (HasSAT s, MonadState s m, Generic t, GVariable (Rep t)) => m Literal -> m t Source #
Instances
class GVariable f where Source #
Minimal complete definition
Methods
gliterally :: (MonadState s m, HasSAT s) => m Literal -> m (f a) Source #
Instances
| GVariable (U1 :: * -> *) Source # | |
Defined in Ersatz.Variable Methods gliterally :: (MonadState s m, HasSAT s) => m Literal -> m (U1 a) Source # | |
| Variable a => GVariable (K1 i a :: * -> *) Source # | |
Defined in Ersatz.Variable Methods gliterally :: (MonadState s m, HasSAT s) => m Literal -> m (K1 i a a0) Source # | |
| (GVariable f, GVariable g) => GVariable (f :*: g) Source # | |
Defined in Ersatz.Variable Methods gliterally :: (MonadState s m, HasSAT s) => m Literal -> m ((f :*: g) a) Source # | |
| GVariable f => GVariable (M1 i c f) Source # | |
Defined in Ersatz.Variable Methods gliterally :: (MonadState s m, HasSAT s) => m Literal -> m (M1 i c f a) Source # | |
genericLiterally :: (HasSAT s, MonadState s m, Generic t, GVariable (Rep t)) => m Literal -> m t Source #