The ersatz package

[Tags: bsd3, library]

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)

Properties

Versions0.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
Dependenciesarray (>=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.6), 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.*)
LicenseBSD3
Copyright(c) 2010-2013 Edward Kmett, (c) 2013 Johan Kiviniemi
AuthorEdward A. Kmett, Johan Kiviniemi
MaintainerEdward A. Kmett <ekmett@gmail.com>
Stabilityexperimental
CategoryLogic, Algorithms
Home pagehttp://github.com/ekmett/ersatz
Bug trackerhttp://github.com/ekmett/ersatz/issues
Source repositoryhead: git clone git://github.com/ekmett/ersatz.git
UploadedSat Mar 16 09:53:38 UTC 2013 by EdwardKmett
DistributionsStackage:0.2.6.1
Downloads842 total (52 in last 30 days)
StatusDocs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees