I've done my homework and I've collected few links about bdd
libraries. I still have few questions:
+ Is there a native (and efficient) ocaml BDD implementation ? In
particular, as pointed out on this mailing list, with variable ordering
and other possible optimizations that can be compared in speed with
= From what I can see, the answer is no. A lot of toy implementations
+ Do you know if there is an ocaml binding for buddy ?
= I guess no, but I hope I'm wrong...
+ Does anybody have experience with the bindings done at inrialpes to
CUDD ? Is this project still actively maintained / used ? How does it
compare efficiency-wise with other bdd libraries ?
+ If I was to start writing my ocaml bindings, which c/c++ library would
you advice ? Buddy seems widely used, but I wasn't able to find any
hard evidence that it is the best bdd library available... Do you know
of any paper surveying different bdd implementations ?
----------------------------- My links for reference ----------------
Please add to the list if you know of other libraries that I forgot to
mention. This might end up to be a FAQ...
==Ocaml libraries (bindings and native in no particular order) :==
* Jean-Christophe FilliÃ¢tre (ocaml implementation)
* bindings to the CUDD BDD library
* Olivier Michel (ocaml implementation)
* Xavier Leroy (part of an experimental sat solver)
* John Harrison
* Ocaml implementation (who is the author ?)
* http://buddy.wiki.sourceforge.net/ Buddy
* http://vlsicad.eecs.umich.edu/BK/Slots/cache/www.itu.dk/research/buddy/index.html Old version of Buddy
* http://vlsi.colorado.edu/~fabio/CUDD/cuddIntro.html CUDD
* many other cited in the wikipedia link on bdds
==Relevant Mailing list Messages==
The ocaml ml has several references to BDDs. These are 3 interesting threads
that I've used as a starting point for my research.
In this thread
there is mention of a possible binding for JÃžrn Lind-Nielsen's BDD
library BuDDy. I'm wondering if this binding was ever released.
In this thread
Alain Frish points out that none of existing ocaml libraries implements
automatic reordering of variables... And I don't know if the state of affairs
is changed at this regard.
In this thread
David Mentre announces a preliminary work on binding for the cudd
library, but the link is broken... this link currently is broken:
and there is a mention to a caml-light implementation of a robdd library
that I was also not able to retrieve.
Caml-list mailing list. Subscription management:
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs
I believe that Akihiko Tozawa wrote such a binding for his XSLT0
typechecker. You should check with him.
Sorry for the late reply.
Pietro Abate <Pietro...@pps.jussieu.fr> writes:
> In this thread
> David Mentre announces a preliminary work on binding for the cudd
> library, but the link is broken... this link currently is broken:
> and there is a mention to a caml-light implementation of a robdd library
> that I was also not able to retrieve.
The code was a binding for CMU bdd library
(http://www.cs.cmu.edu/~modelcheck/bdd.html). It was working great at
that time (OCaml 3.00) and is rather simple. I have no idea if it would
still work with recent OCaml (let me know).
I put the archive on the web. Code is under a BSD license.
Code provided as is. I mean... really. ;-)
 And many thanks to Alan for his CWN that keeps us informed!
GPG/PGP key: A3AD7A2A David MENTRE <dme...@linux-france.org>
5996 CC46 4612 9CA4 3562 D7AC 6C67 9E96 A3AD 7A2A