Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/m4lvin/hascacbdd
λ🎄 Haskell bindings for CacBDD, a Binary Decision Diagram (BDD) package with dynamic cache management.
https://github.com/m4lvin/hascacbdd
binary-decision-diagrams ffi haskell-bindings
Last synced: 22 days ago
JSON representation
λ🎄 Haskell bindings for CacBDD, a Binary Decision Diagram (BDD) package with dynamic cache management.
- Host: GitHub
- URL: https://github.com/m4lvin/hascacbdd
- Owner: m4lvin
- License: gpl-2.0
- Created: 2015-04-08T09:57:13.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2024-03-21T15:05:38.000Z (8 months ago)
- Last Synced: 2024-09-26T18:18:57.642Z (about 1 month ago)
- Topics: binary-decision-diagrams, ffi, haskell-bindings
- Language: C++
- Homepage: https://hackage.haskell.org/package/HasCacBDD
- Size: 963 KB
- Stars: 4
- Watchers: 4
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
HasCacBDD
=========[![Release](https://img.shields.io/github/release/m4lvin/HasCacBDD.svg)](https://github.com/m4lvin/HasCacBDD/releases)
[![Hackage](https://img.shields.io/hackage/v/HasCacBDD.svg)](https://hackage.haskell.org/package/HasCacBDD)
[![GitLab CI](https://gitlab.com/m4lvin/HasCacBDD/badges/main/pipeline.svg)](https://gitlab.com/m4lvin/HasCacBDD/-/pipelines)
[![Test Coverage](https://gitlab.com/m4lvin/HasCacBDD/badges/main/coverage.svg)](https://gitlab.com/m4lvin/HasCacBDD/-/jobs/artifacts/main/file/hpc/combined/all/hpc_index.html?job=test)Haskell bindings for CacBDD, a Binary Decision Diagram (BDD) package with dynamic cache management.
Original C++ code from 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/ | sh2. Download, build and load the lastest version:
git clone https://github.com/m4lvin/HasCacBDD.git
cd HasCacBDD
stack setup
stack build
stack exec ghciNote: `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 :-)
λ> import Data.HasCacBDD
λ> var 5
Var 5 Top Bot
λ> neg (var 5)
Var 5 Bot Top
λ> dis (neg (var 3)) (var 3)
TopFor further documentation, see