smtlib-backends-process

An SMT-LIB backend running solvers as external processes.

Stackage Nightly 2025-08-17:0.3@rev:5
Latest on Hackage:0.3@rev:5

See all snapshots smtlib-backends-process appears in

MIT licensed by Quentin Aristote
Maintained by [email protected]
This version can be pinned in stack with:smtlib-backends-process-0.3@sha256:1cdd2ae8ebf3786f08cafe2f6b47001f7647779ad87cba3f05250f68d70e3f07,1676

Module documentation for 0.3

Used by 1 package in nightly-2025-08-17(full list with versions):

This library implements an SMT-LIB backend (in the sense of the smtlib-backends package) which runs solvers as external processes.

Changes

Changelog

All notable changes to the smtlib-backends-process library will be documented in this file.

v0.3 (2023-02-03)

Added

  • add tests for documenting edge cases of the backends
    • check that we can pile up procedures for exiting a process
    • what happens when sending an empty command
    • what happens when sending a command not producing any output
  • add Process.defaultConfig
  • add std_err field in Config: the user may now specifiy how to create the handle for the error channel

Changed

  • make the test-suite compatible with smtlib-backends-0.3
  • (breaking change) use process instead of typed-process to manage the underlying process
    • change the definition of the Process.Handle datatype accordingly
    • remove Process.wait
    • there is now a single example in the test-suite showing how to manage the underlying process and its I/O channels
  • improve error messages inside Process.toBackend

Removed

  • removed Process.wait
  • (breaking change) removed logging capabilities, this is now on the user to implement (see also the underlyingProcess example)
    • remove Config’s reportError field
    • remove Handle’s errorReader field
  • (breaking change) removed Data.Default instance of Config

v0.2 (2022-12-16)

Added

  • made Config an instance of the Default typeclass
  • add usage examples in the test-suite

Changed

  • split smtlib-backends’s Process module into its own library
  • move the logger function inside the Config datatype
  • don’t prefix error messages with [stderr]
  • make compatible with smtlib-backends-0.2
  • improve documentation