Search code examples
prologcompatibilityclpfd

Compatibility of different clp(FD) library implementations


Is there some place I can find a collection of differences in clpfd implementations?


Solution

  • There is kind of a list of languages that support one form or another of constraint logic programming. This is sometimes denoted as CLP(*):

    See section "Logic programming based constraint logic":
    https://en.wikipedia.org/wiki/Constraint_programming#Some_languages_that_support_constraint_programming

    Whether all of the languages on the list also support CLP(FD) I am not sure. The wiki page also doesn't make a comparison matrice. But it could be a start to look into different systems.

    There are many interesting dimensions of CLP(FD) systems:
    - are bignums supported: GNU No, SWI-Prolog Yes, Jekejeke Yes
    - are negative integers supported: GNU No, SWI-Prolog Yes, Jekejeke Yes
    - what arithmetic expressions are allowed: t.b.d.
    - what set notations are allowed: GNU limited, SWI-Prolog sup/inf, Jekejeke sup/inf
    - is reification supported: GNU Yes, SWI-Prolog Yes, Jekejeke Not Yet
    - what special constraints are supported: GNU cardinality, SWi-Prolog cardinality and others, Jekejeke Not Yet
    - what are the labeling parameters: t.b.d.

    Bye