packages feed

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