Haskell bindings for CacBDD.
Haskell bindings for CacBDD, a Binary Decision Diagram (BDD) package with dynamic cache management. Original C++ code from http://kailesu.net/CacBDD and a C wrapper are included.
HasCacBDD
Haskell bindings for CacBDD, a Binary Decision Diagram (BDD) package with dynamic cache management.
Original C++ code from http://kailesu.net/CacBDD and a C wrapper are included.
Getting Started
Install C compilers and stack if necessary:
apt install build-essential git curl -sSL https://get.haskellstack.org/ | shDownload, build and load the lastest version:
git clone https://github.com/m4lvin/HasCacBDD.git cd HasCacBDD stack setup stack build stack exec ghciNote:
stack ghciapparently does not work with the shared library. You really needstack buildand thenstack exec ghci.To use cabal instead of stack:
cabal build, thencabal exec ghciand then:set -package HasCacBDD.Now you can play with Boolean functions :-)
λ> import Data.HasCacBDD λ> var 5 Var 5 Top Bot λ> neg (var 5) Var 5 Bot Top λ> dis (neg (var 3)) (var 3) Top
For further documentation, see https://hackage.haskell.org/package/HasCacBDD/docs/Data-HasCacBDD.html.