sat-simple-0.1.0.0: sat-simple.cabal
cabal-version: 2.4
name: sat-simple
version: 0.1.0.0
synopsis: A high-level wrapper over minisat
description:
A high-level wrapper over minisat.
.
This package differs from [@ersatz@](https://hackage.haskell.org/package/ersatz) in few ways:
.
* The interface resembles 'ST' monad, with 'SAT' monad and literals 'Lit' are indexed by a scope @s@ type argument.
.
* @sat-simple@ uses @minisat@'s library in incremental way, instead of encoding to DIMACS format and spawning processes.
(@ersatz@ can be made to use @minisat@ library as well, but it cannot use incrementality AFAICT).
.
* @sat-simple@ has less encodings built-in
.
* @sat-simple@ is hopefully is indeed simpler to use.
license: BSD-3-Clause
license-file: LICENSE
author: Oleg Grenrus <oleg.grenrus@iki.fi>
maintainer: Oleg Grenrus <oleg.grenrus@iki.fi>
copyright: 2023 Oleg Grenrus
category: Data
build-type: Simple
extra-doc-files: CHANGELOG.md
tested-with:
GHC ==8.6.5
|| ==8.8.5
|| ==8.10.7
|| ==9.0.2
|| ==9.2.8
|| ==9.4.7
|| ==9.6.3
|| ==9.8.1
common language
default-language: Haskell2010
default-extensions:
DeriveTraversable
GADTs
PatternSynonyms
PatternSynonyms
RankNTypes
RoleAnnotations
ScopedTypeVariables
library
import: language
hs-source-dirs: src
exposed-modules: Control.Monad.SAT
build-depends:
, base >=4.12 && <4.20
, containers ^>=0.6.0.1
, minisat ^>=0.1.3
, unliftio-core ^>=0.2.1.0
test-suite sat-simple-sudoku
import: language
type: exitcode-stdio-1.0
hs-source-dirs: examples
main-is: sat-simple-sudoku.hs
build-depends:
, base
, sat-simple
test-suite sat-simple-nonogram
import: language
type: exitcode-stdio-1.0
hs-source-dirs: examples
main-is: sat-simple-nonogram.hs
build-depends:
, base
, containers
, sat-simple
test-suite sat-simple-tseitin
import: language
type: exitcode-stdio-1.0
hs-source-dirs: examples
main-is: sat-simple-tseitin.hs
build-depends:
, base
, sat-simple