The obdd package

[Tags:gpl, library, test]

Construct, combine and query OBDDs; an efficient representation for formulas in propositional logic.

This is mostly educational. The BDDs do not share nodes (there is no persistent BDD base) and this might introduce inefficiencies.

An important (for me, in teaching) feature is that I can immediately draw the BDD to an X11 window (via graphviz). For example, to show the effect of different variable orderings, try this in ghci:

 import qualified Prelude as P
 import OBDD
 let f [] = false; f (x:y:zs) = x && y || f zs
 display P.$ f P.$ P.map variable [1,2,3,4,5,6]
 display P.$ f P.$ P.map variable [1,4,2,5,3,6]

If you want better performance, use CUDD Haskell bindings, see this example.

Properties

Versions 0.2, 0.2.3, 0.2.5, 0.2.7, 0.3.1, 0.3.2, 0.3.3, 0.4.0, 0.5.0, 0.6.0, 0.6.1
Dependencies array, base (==4.*), containers (>=0.5), mtl, process, random [details]
License GPL
Author Johannes Waldmann
Maintainer Johannes Waldmann
Stability Unknown
Category Logic
Home page https://github.com/jwaldmann/haskell-obdd
Source repository head: git clone git://github.com/jwaldmann/haskell-obdd.git
Uploaded Wed Nov 23 10:07:46 UTC 2016 by JohannesWaldmann
Distributions NixOS:0.6.1
Downloads 1380 total (115 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Last success reported on 2016-11-23 [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees