I see CLP(B) mentioned in the issues: https://github.com/mthom/scryer-prolog/issues/60
And CLP(FD) mentioned in the README as a part of the Stage 2 roadmap.
So it makes sense to request also the CPL(Z) by @triska : https://github.com/triska/clpz
That's the plan. We're getting there.
CLP(ℤ) is all that matters for the future: If someone imports library(clpfd), only an error shall be given, indicating that library(clpz) shall be used. By now, library(clpfd) is a legacy system, and I am focusing completely on CLP(ℤ).
I hope that Scryer Prolog will be the first freely available system to support library(clpz), and I will start porting it as soon as practical.
What further does Scryer Prolog need for CLP(Z) to become practical?
Most importantly, I need to be able to load a local clpz module for development (see #143), and I need to be able to compile Scryer Prolog with readline support on OSX (see #91).
During development, I anticipate a lot of changes to source files. So, ideally, a make/0 facility is provided to recompile changed sourced files. Alternatively, I must at least be able to quickly quit and restart Scryer Prolog with the intended configuration (see #150 and #113).
As to @triska's suggested make/0, before inventing another mechanism, consider this which relies on the specific implementation of ensure_loaded/1 in SICStus. Beware of SWI in this respect.
Closing this as implemented, thanks @mthom and @triska !
Most helpful comment
CLP(ℤ) is all that matters for the future: If someone imports
library(clpfd), only an error shall be given, indicating thatlibrary(clpz)shall be used. By now,library(clpfd)is a legacy system, and I am focusing completely on CLP(ℤ).I hope that Scryer Prolog will be the first freely available system to support
library(clpz), and I will start porting it as soon as practical.