triska / clpz

Constraint Logic Programming over Integers
https://www.metalevel.at/prolog/clpz
178 stars 14 forks source link

Compatibility with SWI #7

Open wouterbeek opened 7 years ago

wouterbeek commented 7 years ago

If this cannot be done ATM because of missing libraries or open issues, then we can at least assemble a list of requirements SWI should meet in order to add compatibility in the future.

triska commented 7 years ago

The most serious technical shortcoming of SWI is described in https://github.com/SWI-Prolog/roadmap/issues/14.

Other technical issues are:

UWN commented 7 years ago

at least assemble a list of requirements SWI should meet in order to add compatibility in the future

Further items:

The original library(clpfd) in SWI was tested 100+ CPU-years under the assumption that the underlying implementation does not change. That assumption turned out to be very wrong. Extensive tests cannot be manually inspected (even fast computers need years to wade through them), the errors specified in the standard are thus extremely helpful to judge the situation automatically and sort out false positives.

wouterbeek commented 7 years ago

@UWN Why would porting clpz to SWI require ISO conformance? I understand that ISO conformance has certain benefits in itself, but I do not see the clpz-specific part there.

UWN commented 7 years ago

Why would porting clpz to SWI require ISO conformance?

@wouterbeek A reliable porting procedure requires testing. And that's where ISO conformance comes into play (see above post) - in particular precise errors but also the abstract syntax. SWI's actual unification mechanism implementation below is far too idiosyncratic to be a sufficient condition for a successful port.

triska commented 7 years ago

Additional reasons are mentioned in #4.

Since you have also contributed to the web page, I hope you can eliminate some of these problems, ensuring that CLP(FD) is presented in the way it is intended. This was previously the case, but is no longer the case with the new web page.

sirikid commented 1 year ago

any progress on this issue since 2017?