# The ersatz package

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]

## Properties

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.5 && <6), containers (>=0.2.0.1), data-default (==0.5.*), ghc-prim, mtl (>=1.1 && <2.2), process (==1.1.*), temporary (==1.1.*), transformers (==0.3.*), unordered-containers (==0.2.*) [details] |

License | BSD3 |

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://comonad.com/reader |

Uploaded | Sat Mar 9 09:11:11 UTC 2013 by EdwardKmett |

Updated | Sat Jul 11 22:46:08 UTC 2015 by EdwardKmett to revision 1 [What is this?] |

Distributions | LTSHaskell:0.4.2, NixOS:0.4.2, Stackage:0.4.2, openSUSE:0.4.2 |

Downloads | 5766 total (133 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 |

## Downloads

- ersatz-0.1.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.