-- The name of the package.
name: minisat-solver
-- The package version. See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.1
-- A short (one-line) description of the package.
synopsis: High-level Haskell bindings for the MiniSat SAT solver.
-- A longer description of the package.
description:
This package provides high-level Haskell bindings for the well-known
MiniSat satisfiability solver. It solves the boolean satisfiability
problem, i.e., the input is a boolean formula, and the output is a
list of all satisfying assignments.
MiniSat is a fully automated, well-optimized general-purpose SAT
solver written by Niklas Een and Niklas Sorensson, and further
modified by Takahisa Toda.
Unlike other similar Haskell packages, we provide a convenient
high-level interface to the SAT solver, hiding the complexity of the
underlying C implementation. It can be easily integrated into other
programs as an efficient turn-key solution to many search problems.
To illustrate the use of the library, two example programs are
included in the "examples" directory; one program solves Sudoku
puzzles, and the other solves a 3-dimensional block packing
problem. These programs can be built manually, or by invoking Cabal
with the '--enable-benchmarks' option.
-- URL for the project homepage or repository.
homepage: http://www.mathstat.dal.ca/~selinger/minisat-solver/
-- The license under which the package is released.
license: MIT
-- The file containing the license text.
license-file: LICENSE
-- The package author(s).
author: Peter Selinger
-- An email address to which users can send suggestions, bug reports, and
-- patches.
maintainer: selinger@mathstat.dal.ca
-- A copyright notice.
copyright: Copyright (c) 2016 Peter Selinger,
Copyright (c) 2015 Takahisa Toda,
Copyright (c) 2005 Niklas Sorensson
-- A classification category for future use by the package catalogue
-- Hackage. These categories have not yet been specified, but the
-- upper levels of the module hierarchy make a good start.
category: Logic
-- The type of build used by this package.
build-type: Simple
-- Constraint on the version of Cabal needed to build this package.
cabal-version: >=1.8
-- A list of additional files to be included in source distributions
-- built with setup sdist.
extra-source-files:
ChangeLog
c-sources/ChangeLog
c-sources/LICENSE.MiniSat
c-sources/LICENSE.bc_minisat_all
c-sources/main.c
c-sources/Makefile
c-sources/README.html
c-sources/README.pdf
c-sources/solver.h
c-sources/vec.h
-- ----------------------------------------------------------------------
library
extensions: ForeignFunctionInterface
-- Modules exported by the library.
exposed-modules: SAT.MiniSat
-- Modules included in this library but not exported.
other-modules: SAT.MiniSat.LowLevel
SAT.MiniSat.Literals
SAT.MiniSat.Monadic
SAT.MiniSat.Functional
SAT.MiniSat.Variable
SAT.MiniSat.Formula
-- A list of directories to search for header files.
include-dirs: c-sources
c-sources: c-sources/solver.c
includes: solver.h
vec.h
-- Other library packages from which modules are imported.
build-depends: base >= 4.6 && < 5,
transformers,
containers
-- ----------------------------------------------------------------------
benchmark Sudoku
type: exitcode-stdio-1.0
-- .hs or .lhs file containing the Main module.
main-is: Sudoku.hs
-- Root directories for the module hierarchy.
hs-source-dirs: examples
-- Modules included in this executable, other than Main.
-- other-modules:
-- Other library packages from which modules are imported.
build-depends: base >= 4.6 && < 5,
containers,
minisat-solver
-- ----------------------------------------------------------------------
benchmark Woodblocks
type: exitcode-stdio-1.0
-- .hs or .lhs file containing the Main module.
main-is: Woodblocks.hs
-- Root directories for the module hierarchy.
hs-source-dirs: examples
-- Modules included in this executable, other than Main.
-- other-modules:
-- Other library packages from which modules are imported.
build-depends: base >= 4.6 && < 5,
easyrender,
containers,
minisat-solver