SWI-Prolog / swipl-devel

SWI-Prolog Main development repository
http://www.swi-prolog.org
Other
974 stars 175 forks source link

missing clpqr predicates? #715

Open koo5 opened 3 years ago

koo5 commented 3 years ago
koom@dev ~/lodgeit2/master2/server_root (smsf)> swipl
Welcome to SWI-Prolog (threaded, 64 bits, version 8.3.10-DIRTY)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.

For online help and background, visit https://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).

?- use_module(library(clpq)).
true.

?- make.
Warning: The predicates below are not defined. If these are defined
Warning: at runtime using assert/1, use :- dynamic Name/Arity.
Warning: 
Warning: bv_r:detach_bounds/1, which is referenced by
Warning:    /usr/local/lib/swipl/library/clp/clpqr/redund.pl:286:30: 2-nd clause of detach_bounds/2
Warning: bv_r:dump_nz/5, which is referenced by
Warning:    /usr/local/lib/swipl/library/clp/clpqr/itf.pl:101:29: 2-nd clause of dump_nz/6
Warning: bv_r:dump_var/6, which is referenced by
Warning:    /usr/local/lib/swipl/library/clp/clpqr/itf.pl:86:33: 2-nd clause of dump_v/7
Warning: bv_r:intro_at/3, which is referenced by
Warning:    /usr/local/lib/swipl/library/clp/clpqr/redund.pl:289:29: 2-nd clause of intro_at/4
Warning: bv_r:pivot/5, which is referenced by
Warning:    /usr/local/lib/swipl/library/clp/clpqr/project.pl:209:44: 2-nd clause of pivot/6
Warning: bv_r:var_intern/2, which is referenced by
Warning:    /usr/local/lib/swipl/library/clp/clpqr/ordering.pl:110:21: 2-nd clause of join_class/2
Warning: fourmotz_r:fm_elim/3, which is referenced by
Warning:    /usr/local/lib/swipl/library/clp/clpqr/project.pl:96:43: 2-nd clause of fm_elim/4
Warning: itf_r:do_checks/8, which is referenced by
Warning:    /usr/local/lib/swipl/library/clp/clpqr/itf.pl:124:14: 2-nd clause of do_checks/9
Warning: store_r:indep/2, which is referenced by
Warning:    /usr/local/lib/swipl/library/clp/clpqr/project.pl:206:32: 2-nd clause of indep/3
Warning: store_r:renormalize/2, which is referenced by
Warning:    /usr/local/lib/swipl/library/clp/clpqr/project.pl:212:37: 2-nd clause of renormalize/3
true.

?- 
JanWielemaker commented 3 years ago

This has been discussed before, I think on Discourse. The problem is poor modularity of this clpq and clpr libraries. That can of course be fixed. This requires some serious refactoring though and, I guess, waits for someone to take responsibility for these libraries. You can hack around it by also loading library(clpq) using :- use_module(library(clpq), []).

koo5 commented 3 years ago

sorry, i'm not sure what you mean by "also loading library(clpq) using :- use_module(library(clpq), [])." should i load it twice?

xpxaxsxi commented 3 years ago

Not twice, library(clpq) and library(clpr) are different libraries, but they depend on each other in some ways, I don't know the details about the interdependence