I’m trying to create a Pengines environment that supports my Prolog application. I have created a module that exports the necessary predicates. I have created my own launch code by copying the original run.pl file found in the Pengines code directory and modifying it. The new file is named run-tsll.pro. I have created an application named the_soul_leaves_last that I want tied to the module I have created to service the app. However, when I try to execute the relevant use_module() statement the operation fails with the following error message:
Old directory - c:/users/robert/documents/github/me/pengines/ New directory - c:/users/robert/documents/prolog/ME/ ERROR: c:/users/robert/documents/github/me/pengines/run-tsll.pl:14: source_sink `library(tsll)' does not exist Warning: c:/users/robert/documents/github/me/pengines/run-tsll.pl:14:
What have I done wrong? As you can see in the code below, after Pengines loads I explicitly switch to the directory that contains the tsll.pro source file. I can even execute consult(tsll) from the SWI-Prolog REPL window and it loads fine.
Here is the code for run-tsll.pro:
% Main file to run the pengines demo. % Loads the demo and starts a server % on the default port: 3030 :- [load]. :- server(3030). :- % Tell Pengines to load our application. pengine_application(the_soul_leaves_last). :- % Now change to the TSLL directory. NewDir_2 = 'c:/users/robert/documents/prolog/ME/', working_directory(OldCwd_2, NewDir_2), write('Old directory - '), write(OldCwd_2), nl, write('New directory - '), write(NewDir_2), nl, consult(tsll), use_module(the_soul_leaves_last:library(tsll)), !.