Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Language.Hasmtlib.Solver.Common
Contents
Description
This module handles common IO interaction with external SMT-Solvers via external processes.
It is built on top of Tweag's package smtlib-backends
.
Although there already are several concrete solvers like Z3
in Language.Hasmtlib.Solver.Z3
,
you may use this module to create your own solver bindings.
Synopsis
- processSolver :: (RenderSeq s, MonadIO m) => Config -> Maybe (Debugger s) -> Solver s m
- solver :: (RenderSeq s, MonadIO m) => Config -> Solver s m
- interactiveSolver :: MonadIO m => Config -> m (Solver, Handle)
- data Debugger s = Debugger {
- debugState :: s -> IO ()
- debugProblem :: Seq Builder -> IO ()
- debugResultResponse :: ByteString -> IO ()
- debugModelResponse :: ByteString -> IO ()
- debug :: (RenderSeq s, MonadIO m) => Config -> Debugger s -> Solver s m
- def :: Default a => a
Construction
Debugging
A type holding actions for debugging states.
Constructors
Debugger | |
Fields
|