packages feed

Cabal revisions of ersatz-0.2.5

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-name:           ersatz-version:        0.2.5-license:        BSD3-license-file:   LICENSE-author:         Edward A. Kmett, Johan Kiviniemi-maintainer:     Edward A. Kmett <ekmett@gmail.com>-copyright:      © 2010-2013 Edward Kmett, © 2013 Johan Kiviniemi-stability:      experimental-homepage:       http://github.com/ekmett/ersatz-bug-reports:    http://github.com/ekmett/ersatz/issues-category:       Logic, Algorithms-synopsis:       A monad for expressing SAT or QSAT problems using observable sharing.-description:    A monad for expressing SAT or QSAT problems using observable sharing.-  .-  For example, we can express a full-adder with:-  .-  > full_adder :: Bit -> Bit -> Bit -> (Bit, Bit)-  > full_adder a b cin = (s2, c1 || c2)-  >   where (s1,c1) = half_adder a b-  >         (s2,c2) = half_adder s1 cin-  .-  > half_adder :: Bit -> Bit -> (Bit, Bit)-  > half_adder a b = (a `xor` b, a && b)-  .-  /Longer Examples/-  .-  Included are a couple of examples included with the distribution.-  Neither are as fast as a dedicated solver for their respective-  domains, but they showcase how you can solve real world problems-  involving 10s or 100s of thousands of variables and constraints-  with `ersatz`.-  .-  @ersatz-sudoku@-  .-  > % time ersatz-sudoku-  > Problem:-  > ┌───────┬───────┬───────┐-  > │ 5 3   │   7   │       │-  > │ 6     │ 1 9 5 │       │-  > │   9 8 │       │   6   │-  > ├───────┼───────┼───────┤-  > │ 8     │   6   │     3 │-  > │ 4     │ 8   3 │     1 │-  > │ 7     │   2   │     6 │-  > ├───────┼───────┼───────┤-  > │   6   │       │ 2 8   │-  > │       │ 4 1 9 │     5 │-  > │       │   8   │   7 9 │-  > └───────┴───────┴───────┘-  > Solution:-  > ┌───────┬───────┬───────┐-  > │ 5 3 4 │ 6 7 8 │ 9 1 2 │-  > │ 6 7 2 │ 1 9 5 │ 3 4 8 │-  > │ 1 9 8 │ 3 4 2 │ 5 6 7 │-  > ├───────┼───────┼───────┤-  > │ 8 5 9 │ 7 6 1 │ 4 2 3 │-  > │ 4 2 6 │ 8 5 3 │ 7 9 1 │-  > │ 7 1 3 │ 9 2 4 │ 8 5 6 │-  > ├───────┼───────┼───────┤-  > │ 9 6 1 │ 5 3 7 │ 2 8 4 │-  > │ 2 8 7 │ 4 1 9 │ 6 3 5 │-  > │ 3 4 5 │ 2 8 6 │ 1 7 9 │-  > └───────┴───────┴───────┘-  > ersatz-sudoku  1,13s user 0,04s system 99% cpu 1,179 total-  .-  @ersatz-regexp-grid@-  .-  This solves the \"regular crossword puzzle\" (<grid.pdf>) from the 2013 MIT mystery hunt.-  .-  > % time ersatz-regexp-grid-  .-  "SPOILER"-  .-  > ersatz-regexp-grid  2,45s user 0,05s system 99% cpu 2,502 total--build-type:     Custom-cabal-version:  >= 1.10-tested-with:    GHC == 7.4.1, GHC == 7.6.2, GHC == 7.8.2-extra-source-files:-  .ghci-  .gitignore-  .travis.yml-  AUTHORS.md-  CHANGELOG.md-  HLint.hs-  README.md-  notes/SPOILER.html-  notes/grid.pdf-  notes/papers.md-  travis/cabal-apt-install-  travis/config--data-files:-  data/dimacs/bf/bf0432-007.cnf-  data/dimacs/bf/bf1355-075.cnf-  data/dimacs/bf/bf1355-638.cnf-  data/dimacs/bf/bf2670-001.cnf-  data/dimacs/bf/descr.html-  data/dimacs/bf/ssa0432-003.cnf-  data/dimacs/bf/ssa2670-130.cnf-  data/dimacs/bf/ssa2670-141.cnf-  data/dimacs/bf/ssa6288-047.cnf-  data/dimacs/bf/ssa7552-038.cnf-  data/dimacs/bf/ssa7552-158.cnf-  data/dimacs/bf/ssa7552-159.cnf-  data/dimacs/bf/ssa7552-160.cnf-  data/dimacs/blocksworld/anomaly.cnf-  data/dimacs/blocksworld/bw_large.a.cnf-  data/dimacs/blocksworld/bw_large.b.cnf-  data/dimacs/blocksworld/bw_large.c.cnf-  data/dimacs/blocksworld/descr.html-  data/dimacs/blocksworld/huge.cnf-  data/dimacs/blocksworld/medium.cnf-  data/dimacs/bmc/bmc-ibm-1.cnf-  data/dimacs/bmc/bmc-ibm-2.cnf-  data/dimacs/bmc/bmc-ibm-3.cnf-  data/dimacs/bmc/bmc-ibm-4.cnf-  data/dimacs/bmc/bmc-ibm-5.cnf-  data/dimacs/bmc/bmc-ibm-7.cnf-  data/dimacs/logistics/descr.html-  data/dimacs/logistics/logistics.a.cnf-  data/dimacs/logistics/logistics.b.cnf-  data/dimacs/logistics/logistics.c.cnf-  data/dimacs/logistics/logistics.d.cnf-  data/dimacs/parity/descr-  data/dimacs/parity/par16-1-c.cnf-  data/dimacs/parity/par16-1.cnf-  data/dimacs/parity/par16-2-c.cnf-  data/dimacs/parity/par16-2.cnf-  data/dimacs/parity/par16-3-c.cnf-  data/dimacs/parity/par16-3.cnf-  data/dimacs/parity/par16-4-c.cnf-  data/dimacs/parity/par16-4.cnf-  data/dimacs/parity/par16-5-c.cnf-  data/dimacs/parity/par16-5.cnf-  data/dimacs/parity/par8-1-c.cnf-  data/dimacs/parity/par8-1.cnf-  data/dimacs/parity/par8-2-c.cnf-  data/dimacs/parity/par8-2.cnf-  data/dimacs/parity/par8-3-c.cnf-  data/dimacs/parity/par8-3.cnf-  data/dimacs/parity/par8-4-c.cnf-  data/dimacs/parity/par8-4.cnf-  data/dimacs/parity/par8-5-c.cnf-  data/dimacs/parity/par8-5.cnf-  data/dimacs/phole/descr.html-  data/dimacs/phole/hole6.cnf-  data/dimacs/phole/hole7.cnf-  data/dimacs/phole/hole8.cnf--source-repository head-  type: git-  location: git://github.com/ekmett/ersatz.git--flag examples-  description: Build examples-  default: True-  manual: True--library-  ghc-options: -Wall-  hs-source-dirs: src-  default-language: Haskell2010--  build-depends:-    array                >= 0.2     && < 0.6,-    base                 >= 4       && < 5,-    blaze-builder        == 0.3.*,-    blaze-textual        == 0.2.*,-    bytestring           >= 0.9     && < 0.12,-    containers           >= 0.2.0.1 && < 0.6,-    data-default         >= 0.5     && < 0.6,-    ghc-prim,-    lens                 >= 3.8     && < 5,-    mtl                  >= 1.1     && < 2.2,-    process              >= 1.1     && < 1.3,-    temporary            == 1.1.*,-    transformers         == 0.3.*,-    unordered-containers == 0.2.*--  exposed-modules:-    Ersatz-    Ersatz.Bit-    Ersatz.Bits-    Ersatz.Decoding-    Ersatz.Equatable-    Ersatz.Encoding-    Ersatz.Internal.Formula-    Ersatz.Internal.Literal-    Ersatz.Problem-    Ersatz.Solution-    Ersatz.Solver-    Ersatz.Solver.DepQBF-    Ersatz.Solver.Minisat-    Ersatz.Variable--  other-modules:-    Ersatz.Internal.Parser-    Ersatz.Internal.StableName-    Ersatz.Solver.Common---executable ersatz-regexp-grid-  -- description: An example program that solves the regular expression crossword problem <http://www.coinheist.com/rubik/a_regular_crossword/> using Ersatz.-  if flag(examples)-    build-depends:-      base < 5,-      containers,-      ersatz,-      ghc-prim,-      lens,-      mtl,-      parsec >= 3.1 && < 3.2-  else-    buildable: False-  main-is: Main.hs-  other-modules:-    RegexpGrid.Problem-    RegexpGrid.Regexp-    RegexpGrid.Types-  default-language: Haskell2010-  ghc-options: -Wall-  hs-source-dirs: examples/regexp-grid--executable ersatz-sudoku-  -- description:   An example program that solves a sudoku problem using Ersatz.-  if flag(examples)-    build-depends:-      array,-      base < 5,-      ersatz,-      ghc-prim,-      mtl-  else-    buildable: False-  default-language: Haskell2010-  main-is: Main.hs-  other-modules:-    Sudoku.Cell-    Sudoku.Problem-  ghc-options: -Wall-  hs-source-dirs: examples/sudoku--test-suite properties-  type: exitcode-stdio-1.0-  ghc-options: -Wall-  default-language: Haskell2010-  build-depends:-    array,-    base < 5,-    containers,-    data-reify >= 0.5 && < 0.7,-    ersatz,-    mtl,-    transformers,-    test-framework >= 0.2.4 && < 0.9,-    test-framework-quickcheck >= 0.2.4 && < 0.4,-    test-framework-hunit >= 0.2.4 && < 0.4,-    QuickCheck >= 1.2.0.0 && < 2.6,-    HUnit >= 1.2.2.1 && < 1.3--  hs-source-dirs: tests-  Main-is: properties.hs--test-suite doctests-  type:    exitcode-stdio-1.0-  main-is: doctests.hs-  default-language: Haskell2010-  build-depends:-    base < 5,-    directory >= 1.0,-    doctest >= 0.9.1,-    filepath-  ghc-options: -Wall -threaded-  if impl(ghc<7.6.1)-    ghc-options: -Werror-  hs-source-dirs: tests+name:           ersatz
+version:        0.2.5
+x-revision: 1
+license:        BSD3
+license-file:   LICENSE
+author:         Edward A. Kmett, Johan Kiviniemi
+maintainer:     Edward A. Kmett <ekmett@gmail.com>
+copyright:      © 2010-2013 Edward Kmett, © 2013 Johan Kiviniemi
+stability:      experimental
+homepage:       http://github.com/ekmett/ersatz
+bug-reports:    http://github.com/ekmett/ersatz/issues
+category:       Logic, Algorithms
+synopsis:       A monad for expressing SAT or QSAT problems using observable sharing.
+description:    A monad for expressing SAT or QSAT problems using observable sharing.
+  .
+  For example, we can express a full-adder with:
+  .
+  > full_adder :: Bit -> Bit -> Bit -> (Bit, Bit)
+  > full_adder a b cin = (s2, c1 || c2)
+  >   where (s1,c1) = half_adder a b
+  >         (s2,c2) = half_adder s1 cin
+  .
+  > half_adder :: Bit -> Bit -> (Bit, Bit)
+  > half_adder a b = (a `xor` b, a && b)
+  .
+  /Longer Examples/
+  .
+  Included are a couple of examples included with the distribution.
+  Neither are as fast as a dedicated solver for their respective
+  domains, but they showcase how you can solve real world problems
+  involving 10s or 100s of thousands of variables and constraints
+  with `ersatz`.
+  .
+  @ersatz-sudoku@
+  .
+  > % time ersatz-sudoku
+  > Problem:
+  > ┌───────┬───────┬───────┐
+  > │ 5 3   │   7   │       │
+  > │ 6     │ 1 9 5 │       │
+  > │   9 8 │       │   6   │
+  > ├───────┼───────┼───────┤
+  > │ 8     │   6   │     3 │
+  > │ 4     │ 8   3 │     1 │
+  > │ 7     │   2   │     6 │
+  > ├───────┼───────┼───────┤
+  > │   6   │       │ 2 8   │
+  > │       │ 4 1 9 │     5 │
+  > │       │   8   │   7 9 │
+  > └───────┴───────┴───────┘
+  > Solution:
+  > ┌───────┬───────┬───────┐
+  > │ 5 3 4 │ 6 7 8 │ 9 1 2 │
+  > │ 6 7 2 │ 1 9 5 │ 3 4 8 │
+  > │ 1 9 8 │ 3 4 2 │ 5 6 7 │
+  > ├───────┼───────┼───────┤
+  > │ 8 5 9 │ 7 6 1 │ 4 2 3 │
+  > │ 4 2 6 │ 8 5 3 │ 7 9 1 │
+  > │ 7 1 3 │ 9 2 4 │ 8 5 6 │
+  > ├───────┼───────┼───────┤
+  > │ 9 6 1 │ 5 3 7 │ 2 8 4 │
+  > │ 2 8 7 │ 4 1 9 │ 6 3 5 │
+  > │ 3 4 5 │ 2 8 6 │ 1 7 9 │
+  > └───────┴───────┴───────┘
+  > ersatz-sudoku  1,13s user 0,04s system 99% cpu 1,179 total
+  .
+  @ersatz-regexp-grid@
+  .
+  This solves the \"regular crossword puzzle\" (<grid.pdf>) from the 2013 MIT mystery hunt.
+  .
+  > % time ersatz-regexp-grid
+  .
+  "SPOILER"
+  .
+  > ersatz-regexp-grid  2,45s user 0,05s system 99% cpu 2,502 total
+
+build-type:     Custom
+cabal-version:  >= 1.10
+tested-with:    GHC == 7.4.1, GHC == 7.6.2, GHC == 7.8.2
+extra-source-files:
+  .ghci
+  .gitignore
+  .travis.yml
+  AUTHORS.md
+  CHANGELOG.md
+  HLint.hs
+  README.md
+  notes/SPOILER.html
+  notes/grid.pdf
+  notes/papers.md
+  travis/cabal-apt-install
+  travis/config
+
+data-files:
+  data/dimacs/bf/bf0432-007.cnf
+  data/dimacs/bf/bf1355-075.cnf
+  data/dimacs/bf/bf1355-638.cnf
+  data/dimacs/bf/bf2670-001.cnf
+  data/dimacs/bf/descr.html
+  data/dimacs/bf/ssa0432-003.cnf
+  data/dimacs/bf/ssa2670-130.cnf
+  data/dimacs/bf/ssa2670-141.cnf
+  data/dimacs/bf/ssa6288-047.cnf
+  data/dimacs/bf/ssa7552-038.cnf
+  data/dimacs/bf/ssa7552-158.cnf
+  data/dimacs/bf/ssa7552-159.cnf
+  data/dimacs/bf/ssa7552-160.cnf
+  data/dimacs/blocksworld/anomaly.cnf
+  data/dimacs/blocksworld/bw_large.a.cnf
+  data/dimacs/blocksworld/bw_large.b.cnf
+  data/dimacs/blocksworld/bw_large.c.cnf
+  data/dimacs/blocksworld/descr.html
+  data/dimacs/blocksworld/huge.cnf
+  data/dimacs/blocksworld/medium.cnf
+  data/dimacs/bmc/bmc-ibm-1.cnf
+  data/dimacs/bmc/bmc-ibm-2.cnf
+  data/dimacs/bmc/bmc-ibm-3.cnf
+  data/dimacs/bmc/bmc-ibm-4.cnf
+  data/dimacs/bmc/bmc-ibm-5.cnf
+  data/dimacs/bmc/bmc-ibm-7.cnf
+  data/dimacs/logistics/descr.html
+  data/dimacs/logistics/logistics.a.cnf
+  data/dimacs/logistics/logistics.b.cnf
+  data/dimacs/logistics/logistics.c.cnf
+  data/dimacs/logistics/logistics.d.cnf
+  data/dimacs/parity/descr
+  data/dimacs/parity/par16-1-c.cnf
+  data/dimacs/parity/par16-1.cnf
+  data/dimacs/parity/par16-2-c.cnf
+  data/dimacs/parity/par16-2.cnf
+  data/dimacs/parity/par16-3-c.cnf
+  data/dimacs/parity/par16-3.cnf
+  data/dimacs/parity/par16-4-c.cnf
+  data/dimacs/parity/par16-4.cnf
+  data/dimacs/parity/par16-5-c.cnf
+  data/dimacs/parity/par16-5.cnf
+  data/dimacs/parity/par8-1-c.cnf
+  data/dimacs/parity/par8-1.cnf
+  data/dimacs/parity/par8-2-c.cnf
+  data/dimacs/parity/par8-2.cnf
+  data/dimacs/parity/par8-3-c.cnf
+  data/dimacs/parity/par8-3.cnf
+  data/dimacs/parity/par8-4-c.cnf
+  data/dimacs/parity/par8-4.cnf
+  data/dimacs/parity/par8-5-c.cnf
+  data/dimacs/parity/par8-5.cnf
+  data/dimacs/phole/descr.html
+  data/dimacs/phole/hole6.cnf
+  data/dimacs/phole/hole7.cnf
+  data/dimacs/phole/hole8.cnf
+
+source-repository head
+  type: git
+  location: git://github.com/ekmett/ersatz.git
+
+flag examples
+  description: Build examples
+  default: True
+  manual: True
+
+library
+  ghc-options: -Wall
+  hs-source-dirs: src
+  default-language: Haskell2010
+
+  build-depends:
+    array                >= 0.2     && < 0.6,
+    base                 < 0,
+    blaze-builder        == 0.3.*,
+    blaze-textual        == 0.2.*,
+    bytestring           >= 0.9     && < 0.12,
+    containers           >= 0.2.0.1 && < 0.6,
+    data-default         >= 0.5     && < 0.6,
+    ghc-prim,
+    lens                 >= 3.8     && < 5,
+    mtl                  >= 1.1     && < 2.2,
+    process              >= 1.1     && < 1.3,
+    temporary            == 1.1.*,
+    transformers         == 0.3.*,
+    unordered-containers == 0.2.*
+
+  exposed-modules:
+    Ersatz
+    Ersatz.Bit
+    Ersatz.Bits
+    Ersatz.Decoding
+    Ersatz.Equatable
+    Ersatz.Encoding
+    Ersatz.Internal.Formula
+    Ersatz.Internal.Literal
+    Ersatz.Problem
+    Ersatz.Solution
+    Ersatz.Solver
+    Ersatz.Solver.DepQBF
+    Ersatz.Solver.Minisat
+    Ersatz.Variable
+
+  other-modules:
+    Ersatz.Internal.Parser
+    Ersatz.Internal.StableName
+    Ersatz.Solver.Common
+
+
+executable ersatz-regexp-grid
+  -- description: An example program that solves the regular expression crossword problem <http://www.coinheist.com/rubik/a_regular_crossword/> using Ersatz.
+  if flag(examples)
+    build-depends:
+      base < 5,
+      containers,
+      ersatz,
+      ghc-prim,
+      lens,
+      mtl,
+      parsec >= 3.1 && < 3.2
+  else
+    buildable: False
+  main-is: Main.hs
+  other-modules:
+    RegexpGrid.Problem
+    RegexpGrid.Regexp
+    RegexpGrid.Types
+  default-language: Haskell2010
+  ghc-options: -Wall
+  hs-source-dirs: examples/regexp-grid
+
+executable ersatz-sudoku
+  -- description:   An example program that solves a sudoku problem using Ersatz.
+  if flag(examples)
+    build-depends:
+      array,
+      base < 5,
+      ersatz,
+      ghc-prim,
+      mtl
+  else
+    buildable: False
+  default-language: Haskell2010
+  main-is: Main.hs
+  other-modules:
+    Sudoku.Cell
+    Sudoku.Problem
+  ghc-options: -Wall
+  hs-source-dirs: examples/sudoku
+
+test-suite properties
+  type: exitcode-stdio-1.0
+  ghc-options: -Wall
+  default-language: Haskell2010
+  build-depends:
+    array,
+    base < 5,
+    containers,
+    data-reify >= 0.5 && < 0.7,
+    ersatz,
+    mtl,
+    transformers,
+    test-framework >= 0.2.4 && < 0.9,
+    test-framework-quickcheck >= 0.2.4 && < 0.4,
+    test-framework-hunit >= 0.2.4 && < 0.4,
+    QuickCheck >= 1.2.0.0 && < 2.6,
+    HUnit >= 1.2.2.1 && < 1.3
+
+  hs-source-dirs: tests
+  Main-is: properties.hs
+
+test-suite doctests
+  type:    exitcode-stdio-1.0
+  main-is: doctests.hs
+  default-language: Haskell2010
+  build-depends:
+    base < 5,
+    directory >= 1.0,
+    doctest >= 0.9.1,
+    filepath
+  ghc-options: -Wall -threaded
+  if impl(ghc<7.6.1)
+    ghc-options: -Werror
+  hs-source-dirs: tests