ersatz: A monad for expressing SAT or QSAT problems using observable sharing.
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)
[Skip to Readme]
Versions | 0.1, 0.1.0.1, 0.1.0.2, 0.2, 0.2.0.1, 0.2.4, 0.2.5, 0.2.5.1, 0.2.6, 0.2.6.1, 0.3, 0.3.1, 0.4, 0.4.1, 0.4.2 |
---|---|
Change log | CHANGELOG.md |
Dependencies | array (>=0.2 && <0.5), base (>=4 && <6), blaze-builder (==0.3.*), blaze-textual (==0.2.*), bytestring (>=0.9 && <0.12), containers (>=0.2.0.1 && <0.5), data-default (==0.5.*), 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.*) [details] |
License | BSD-3-Clause |
Copyright | (c) 2010-2013 Edward Kmett, (c) 2013 Johan Kiviniemi |
Author | Edward A. Kmett, Johan Kiviniemi |
Maintainer | Edward A. Kmett <ekmett@gmail.com> |
Category | Logic, Algorithms |
Home page | http://github.com/ekmett/ersatz |
Bug tracker | http://github.com/ekmett/ersatz/issues |
Source repo | head: git clone git://github.com/ekmett/ersatz.git |
Uploaded | by EdwardKmett at Sat Mar 16 05:26:32 UTC 2013 |
Distributions | LTSHaskell:0.4.2, NixOS:0.4.2, Stackage:0.4.2, openSUSE:0.4.2 |
Downloads | 5874 total (23 in the last 30 days) |
Rating | 2.0 (votes: 1) [estimated by rule of succession] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] Hackage Matrix CI |
Modules
[Index]
Downloads
- ersatz-0.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)