HasCacBDD: Haskell bindings for CacBDD

[ data, gpl, library ] [ Propose Tags ] [ Report a vulnerability ]

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.


[Skip to Readme]

Downloads

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'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.2.0.0, 0.3.0.0, 0.3.0.1, 0.4.0.0
Change log CHANGELOG.md
Dependencies base (>=4.8 && <5), directory (<1.4), parsec (>=3.1 && <3.2), process (>=1.1 && <1.7), QuickCheck (>=2.4 && <2.16) [details]
License GPL-2.0-only
Author Malvin Gattinger
Maintainer malvin@w4eg.de
Uploaded by m4lvin at 2026-06-20T20:23:59Z
Revised Revision 1 made by m4lvin at 2026-10-07T02:02:57Z
Category Data
Home page https://github.com/m4lvin/HasCacBDD
Source repo head: git clone https://github.com/m4lvin/HasCacBDD.git
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 2818 total (20 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for HasCacBDD-0.4.0.0

[back to package description]

HasCacBDD

Release Hackage GitLab CI Test Coverage

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

  1. Install C compilers and stack if necessary:

    apt install build-essential git
    curl -sSL https://get.haskellstack.org/ | sh
    
  2. Download, build and load the lastest version:

    git clone https://github.com/m4lvin/HasCacBDD.git
    cd HasCacBDD
    stack setup
    stack build
    stack exec ghci
    

    Note: stack ghci apparently does not work with the shared library. You really need stack build and then stack exec ghci.

    To use cabal instead of stack: cabal build, then cabal exec ghci and then :set -package HasCacBDD.

  3. Now you can play with Boolean functions :-)

    ghci> import Data.HasCacBDD
    ghci> var 5
    var 5
    ghci> neg (var 5)
    neg (var 5)
    ghci> dis (neg (var 3)) (var 3)
    top
    ghci> dis (neg (var 1)) (var 3)
    ifthenelse (var 1) (var 3) top
    

For further documentation, see https://hackage.haskell.org/package/HasCacBDD/docs/Data-HasCacBDD.html