Further portability fixes to mcintyre.pl in the PITA package
More work with Mcintyre unearthed the following additional issue: The predicates save_..., which are supposed to copy "sampled" facts into a new predicate "mem" and then retract the "sampled" facts, are currently implemented using the schema save_samples(M,G):- sampled(R,Sub,V), assert(M:mem(G,R,Sub,V)), retract(sampled(R,Sub,V)), fail. save_samples(_M,_G). In SWI-Prolog, the failure-driven loop executes correctly, but XSB doesn't seem to take well to backtracking over a partially retracted predicate...
You were absolutely right! The "fake import" did fix the issue. What I have now done is just put explicit module qualifications on any predicate call within a maplist, and that also solved the problem.
You were absolutely right! The "fake import" did fix the issue. What I have now done is just put explicit module qualifications on any function call within a maplist, and that also solved the problem.
Porting functional-style code from SWI Prolog
Both compiling and predicate_property/2 work again beautifully, thank you both!
Thank you very much for the quick fix! Unfortunately, the current snapshot doesn't compile for me as the configure script terminates with the error config.status: error: cannot find input file: /home/weitkaemper/XSB/XSB/packages/janus/configvars.in before creating makexsb. The snapshot after David Warren's last commit (cf 6005) compiles perfectly well.
Thank you very much for the quick fix! Unfortunately, the current snapshot doesn't compile for me as the configure script terminates with the error config.status: error: cannot find input file: /home/weitkaemper/XSB/XSB/packages/janus/configvars.in' before creating makexsb. The snapshot after David Warren's last commit (cf 6005) compiles perfectly well.