- See also
- 
- library(optparse)for comprehensive option parsing.
 -library(prolog_stack)to force backtraces in case of an 
uncaught exception.
 - XPCE users should have a look atlibrary(pce_main), which 
starts the GUI and processes events until all windows have gone.
This library is intended for supporting PrologScript on Unix using 
the
#! magic sequence for scripts using commandline options. 
The entry point main/0 calls 
the user-supplied predicate main/1 passing 
a list of commandline options. Below is a simle echo 
implementation in Prolog.
#!/usr/bin/env swipl
:- initialization(main, main).
main(Argv) :-
    echo(Argv).
echo([]) :- nl.
echo([Last]) :- !,
    write(Last), nl.
echo([H|T]) :-
    write(H), write(' '),
    echo(T).
- main
- 
Call main/1 using the passed command-line 
arguments. Before calling
main/1 this predicate installs a signal 
handler for SIGINT(Control-C) that terminates the process 
with status 1.
- [det]argv_options(+Argv, 
-RestArgv, -Options)
- 
Generic transformation of long commandline arguments to options. Each 
--Name=Value is mapped to Name(Value). Each plain name is mapped to 
Name(true), unless Name starts with no-, in which case the 
option is mapped to Name(false). Numeric option values are mapped to 
Prolog numbers.
- See also
- 
library(optparse)provides a more involved option library, 
providing both short and long options, help and error handling. This 
predicate is more for quick-and-dirty scripts.