obdd-0.8.1: obdd.cabal
Name: obdd
Version: 0.8.1
Cabal-Version: >= 1.8
Build-type: Simple
Synopsis: Ordered Reduced Binary Decision Diagrams
Description:
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 <http://vlsi.colorado.edu/%7Efabio/CUDD/ CUDD>
<https://hackage.haskell.org/package/cudd Haskell bindings>,
see <https://gitlab.imn.htwk-leipzig.de/waldmann/min-comp-sort this example>.
category: Logic
License: GPL
License-file: LICENSE
Author: Johannes Waldmann
Maintainer: Johannes Waldmann
Homepage: https://github.com/jwaldmann/haskell-obdd
Source-Repository head
Type: git
Location: git://github.com/jwaldmann/haskell-obdd.git
Library
Build-Depends: base==4.*, random, mtl, containers>=0.5, array, process-extras, ersatz, text
Hs-Source-Dirs: src
Exposed-Modules: OBDD OBDD.Data OBDD.Make OBDD.Operation OBDD.Property, OBDD.Display, OBDD.Linopt, OBDD.Cube
Other-Modules: OBDD.IntIntMap, OBDD.VarIntIntMap
ghc-options: -funbox-strict-fields
test-suite obdd-placement
Hs-Source-Dirs : examples
Type: exitcode-stdio-1.0
Main-Is: Placement.hs
Build-Depends: base, containers, obdd
test-suite obdd-cubism
Hs-Source-Dirs : examples
Type: exitcode-stdio-1.0
Main-Is: Cubism.hs
Build-Depends: base, containers, obdd
test-suite obdd-queens
Hs-Source-Dirs : examples
Type: exitcode-stdio-1.0
Main-Is: Queens.hs
ghc-options: -threaded -rtsopts
Build-Depends: base, containers, obdd, text
test-suite obdd-queens2
Hs-Source-Dirs : examples
Type: exitcode-stdio-1.0
Main-Is: Queens2.hs
Build-Depends: base, containers, obdd
test-suite obdd-weight
Hs-Source-Dirs : examples
Type: exitcode-stdio-1.0
Main-Is: Weight.hs
Build-Depends: base, containers, obdd
test-suite obdd-sort
Hs-Source-Dirs : examples
Type: exitcode-stdio-1.0
Main-Is: Sort.hs
Build-Depends: base, containers, obdd
Ghc-Options: -rtsopts
test-suite obdd-mm0916
Hs-Source-Dirs : examples
Type: exitcode-stdio-1.0
Main-Is: MM0916.hs
Build-Depends: base, containers, obdd, array
Ghc-Options: -rtsopts