forked from ekmett/ersatz
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ersatz.cabal
167 lines (158 loc) · 4.58 KB
/
ersatz.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
name: ersatz
version: 0.2
license: BSD3
license-file: LICENSE
author: Edward A. Kmett, Johan Kiviniemi
maintainer: Edward A. Kmett <ekmett@gmail.com>
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)
copyright: (c) 2010-2013 Edward Kmett, (c) 2013 Johan Kiviniemi
build-type: Custom
cabal-version: >= 1.10
tested-with: GHC == 7.6.2
extra-source-files:
AUTHORS.md
README.md
CHANGELOG.md
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
library
ghc-options: -Wall
hs-source-dirs: src
default-language: Haskell2010
build-depends:
array >= 0.2 && < 0.5,
base >= 4 && < 6,
containers >= 0.2.0.1,
data-default >= 0.5 && < 0.6,
ghc-prim,
lens >= 3.8 && < 4.0,
mtl >= 1.1 && < 2.2,
process == 1.1.*,
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.Circuit
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
test-suite properties
type: exitcode-stdio-1.0
ghc-options: -Wall
default-language: Haskell2010
build-depends:
ersatz,
base >= 4 && < 6,
mtl >= 1.1 && < 2.2,
transformers == 0.3.*,
containers >= 0.2.0.1,
array >= 0.2 && < 0.5,
data-reify >= 0.5 && < 0.7,
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