SWI-Prolog / roadmap

Discuss future development
20 stars 3 forks source link

CLP(B): Integrate an external BDD package #31

Closed triska closed 4 years ago

triska commented 8 years ago

The performance of library(clpb) can in all likelihood be improved significantly by making use of an external BDD package.

However, CLP(B) does not mesh particularly well with low-level BDD packages, because CLP(B) must support features that are not an issue in other applications. Aliasing of logical variables and universally quantified variables are two examples.

I am satisfied with the current performance of library(clpb) for many applications. In particular, the typical examples used when teaching Prolog and constraints work as expected and with acceptable performance. There is also value in retaining a purely Prolog-based implementation, increasing portability, robustness and ease of maintenance.

However, if you want to work on this issue, I will help in every way I can, out of interest in just how fast we can make CLP(B), and also to help users who are currently running into performance bottlenecks of the library. Please contact me if you want to work on this issue and have any questions. All contributions are welcome!