With the introduction of PrologScript (see section 188.8.131.52), using shell scripts as explained in this section has become redundant for most applications.
Especially on Unix systems and not-too-large applications, writing a shell script that simply loads your application and calls the entry point is often a good choice. A skeleton for the script is given below, followed by the Prolog code to obtain the program arguments.
#!/bin/sh base=<absolute-path-to-source> PL=swipl exec $PL -q -f '$base/load -t go -- **
go :- current_prolog_flag(argv, Arguments), append(_SytemArgs, [--|Args], Arguments), !, go(Args). go(Args) :- ...
On Windows systems, similar behaviour can be achieved by creating a
shortcut to Prolog, passing the proper options or writing a