Provided by: swi-prolog-core_9.0.4+dfsg-3.1ubuntu4_amd64 bug

NAME

       swipl - SWI-Prolog 9.0.4

SYNOPSIS

       swipl [--help|--version|--arch|--dump-runtime-variables]
       swipl [options] prolog-file ... [--] [arg ...]
       swipl [options] [-o output] -c file ...
       swipl [options] [-o output] -b initfile ...

       The  first version provides information about the system and exits immediately. The second version is the
       primary way to call Prolog on one or more Prolog source file(s) and provide arguments to the  application
       that can be requested using current_prolog_flag(argv, Argv).  The third version is used to create a saved
       state while the last version is used for boot-compilation of the Prolog parts of the system.

DESCRIPTION

       SWI-Prolog  is  a  comprehensive  and  stable  implementation  of the Prolog language with a large set of
       libraries. Among its distinguishing features are mature support for multi-threading,  a  mature  embedded
       web-server  library,  graphical  development  tools  (debugger,  profiler,  cross-referencer, editor), an
       embedded efficient RDF store, support for XML/SGML/HTML and Unicode.  More widely supported features  are
       support  for  constraint programming, atom garbage collection, interfaces to databases (ODBC), C, C++ and
       Java (JPL).

       SWI-Prolog implements the ISO core standard. Many of its extensions are largely  compatible  to  YAP  and
       SICStus Prolog.

       This  manual page only lists the commandline options.  Full documentation is available on-line as well as
       in HTML and PDF format from the WWW home page at http://www.swi-prolog.org

OPTIONS

       --help Give a summary of the most important options.

       --version
              Display version and architecture information.

       --abi-version
              Display ABI version key.  This key indicates binary compatibility of various interfaces.

       --arch Print the architecture identifier.

       --dump-runtime-variables[=format]
              Dump information that is generally useful for installation scripts in a form  defined  by  format.
              Defines  formats  are  sh  (default,  bourne shell) and cmd (Windows CMD).  This option is used by
              swipl-ld (1) to fetch necessary information about Prolog.  It is normally invoked as  eval  `swipl
              --dump-runtime-variables`, which assigns the following shell variables:

              CC     The C- compiler used to compile SWI-Prolog.

              PLBASE The   home   directory  of  SWI-Prolog.   This  is  the  same  value  as  returned  by  the
                     current_prolog_flag home.

              PLARCH The architecture identifier used.  Together  with  PLBASE  this  defines  the  location  of
                     various    components.     For    example,    the    library    for    embedding    is   in
                     $PLBASE/lib/$PLARCH/libswipl.a

              PLBITS Address bits for VM.  Either 32 or 64.

              PLLIB  CC identifier to link to SWI-Prolog.  Typically -lswipl

              PLLIBSWIPL
                     Full path name to the shared object (DLL) that provides the Prolog core.

              PLLIBS Additional libraries needed for linking PLLIB

              PLCFLAGS
                     Flags that need to be passed to the C-compiler to generate compatible code.

              PLLDFLAGS
                     Flags that need to be passed to the C-linker for linking embedded executables.

              PLSOEXT
                     Extension used by the hosting operating system for shared objects.  On  most  Unix  systems
                     this is "so"; on MS-Windows it is "dll".  AIX uses "o", HPUX "sl".

              PLSOPATH
                     Environment  variable  used  by  the hosting operating system to extend the search path for
                     shared objects.  For example, on ELF systems this is "LD_LIBRARY_PATH" and on MS-Windows it
                     is "PATH".

              PLVERSION
                     Numeric representation of the SWI-Prolog version.

              PLVERSIONTAG
                     If present, a version tag such as "rc1".

              PLSHARED
                     Has   the   value   yes   if   Prolog   supports    linking    shared    libraries    using
                     load_foreign_library/[1,2] and no otherwise.

              PLTHREADS
                     Has the value yes if Prolog was compiled for multi-threading and no otherwise.

       --home=DIR
              Use DIR as home directory.

       --stack-limit=size[bkmg]
              Set  the  combined stack limit to size bytes.  The suffix is case insensitive and defines the unit
              as b (bytes), k (Kbytes), m (Mbytes) or g (Gbytes).

       --table-space=size[bkmg]
              Set the table space limit for SLG resolution (tabling) to size bytes.  The suffixes are  the  same
              as for the --stack-limit option.

       --shared-table-space=size[bkmg]
              Set  the table space limit for shared tabling to size bytes.  The suffixes are the same as for the
              --stack-limit option.

       -O     Optimised compilation. See set_prolog_flag/2 in the SWI-Prolog Reference Manual.

       -b initfile ... -c file ...
              Boot compilation.  initfile ...  are compiled by the C written bootstrap compiler,  file  ...   by
              the  normal  Prolog compiler into an intermediate code file. This option is for system maintenance
              and is given for reference only.

       -c file ...
              Compile file ...  into an intermediate code file.

       -d level
              Set debug level to level.  This option is for system maintenance and is given for reference only.

       --packs[=bool]
              Disable attaching extension packs (add-ons).

       --pce[=bool]
              Disable the XPCE GUI subsystem.

       --pldoc[=port]
              Start the PlDoc documentation system on a free network port  and  launch  the  user's  browser  on
              http://localhost:port.   If  port  is  specified,  the server is started at the given port but the
              browser is not launched.

       -f file
              Use file as initialisation file instead of `init.pl'. `-f none' stops  SWI-Prolog  from  searching
              for an initialisation file.

       -F file
              Select  startup  script  from  the SWI-Prolog home directory.  file Specifies the base-name of the
              script.  The extension is .rc.  The default script is deduced from the basename of the executable,
              taking all leading alphanumerical (letters, digits and underscore) from the program name.  Thus if
              the program is named swi-2.0 it will try  to  load  the  file  swi.rc  from  the  SWI-Prolog  home
              directory.   If  the  file  does  not  exist,  or the user has no read-access to it, the script is
              silently not loaded.

       -s file
              Load file as a script.  This option may be used from the shell to make Prolog load a  file  before
              entering the toplevel.  Deprecated as file names with a Prolog extension (.pl or .qlf) are used to
              load the program.

       -l file
              Load  file  as  a  script.   This is a synonym for -s that is compatible with several other Prolog
              implementations.  If multiple -s or -l arguments are provided, all specified files are  loaded  in
              the order in which they appear on the argument list.

       --quiet[=bool] -q
              Operate silently.  This option suppresses all informational messages.

       --debug[=bool]
              Disable generating code that can be debugged using trace/0, spy/1, etc.

       --debug-on-interrupt[=bool]
              Immediately  start  handling SIGINT (Control-C) to start the debugger.  By default this is enabled
              when the interactive toplevel is entered.

       --on-error=style
              How to handle on a (printed) error message.  Default is print which causes errors  to  be  printed
              while  execution continues.  Using status execution continues as with print, but halt/0 causes the
              process to exit with status 1 and halt causes the process to exit  with  status  1  on  the  first
              error.

       --on-warning=style
              Similar to --on-error, but for warning messages.

       -g goal
              Goal is executed just before entering the top level. This option may appear multiple times.  Goals
              are  executed  in the order of appearance.  Possible choice points are pruned.  If a goal fails an
              error is printed (depending on the -q flag) and the process stops with exit code  1.   If  a  goal
              raises  an  exception  the error is printed and the process stops with exit code 2.  In no goal is
              present version/0 is called to write the  welcome  message.   The  welcome  message  can  thus  be
              suppressed  by  giving  -g  true.   goal  can be a complex term. In this case, quotes are normally
              needed to protect it from being expanded by the Unix shell.

       -o output
              Used in combination with -b or -c to determine the output file for compilation.

       -p alias=pathlist
              Define a path alias for file_search_path/2.  pathlist is a ":" separated list of  values  for  the
              alias. See file_search_path/2 in the SWI-Prolog Reference Manual.

       -t goal
              Use  goal as an interactive top level instead of the default goal prolog/0.  goal can be a complex
              term. If the top level goal succeeds, SWI-Prolog exits with status 0. If it fails, the exit status
              is 1. This flag also determines the goal started by break/0 and abort/0.  If you want to stop  the
              user  from  entering interactive mode, start the application with `-g goal' and give `halt' as the
              top level.

       -x bootfile
              Start from an intermediate code file resulting from a  Prolog  compilation  using  the  -b  or  -c
              option, or created using qsave_program/[1,2].

       --tty[=bool]
              Switches  tty control (using ioctl(2)).  Normally tty control is switched on. This default depends
              on the installation. You may wish to switch tty control off if SWI-Prolog is used from  an  editor
              such  as  GNU  Emacs.  If  switched off, get_single_char/1 and the tracer will wait for a carriage
              return.

       --win-app
              This option is available only in swipl-win.exe.  The Start  menu  shortcut  uses  this  option  to
              change  the working directory to ...\Documents\Prolog.  The Prolog subdirectory will be created if
              it does not exist.

       --signals[=bool]
              Disable handling of signals.  Often used if SWI-Prolog is embedded in another application on  Unix
              systems.

       --sigalert=NUM
              Use  NUM  for  unblocking system calls.  Default is SIGUSR2.  Using 0 disables installing a signal
              handler, delaying the delivery of thread signals until the blocking system call completes.

       --threads[=bool]
              Disable creating threads in the multi-threaded version.   This  notably  prevents  running  global
              garbage  collection on a separate thread and may be used for situations where multiple threads are
              not desirable.

       --traditional
              Disable SWI-Prolog version 7 extensions that are incompatible with earlier versions.

       --     Stop scanning for more arguments.

ENVIRONMENT VARIABLES

       SWI_HOME_DIR
              Location for finding the startup file  and the libraries.  Normally discovered from the executable
              or configured default location.  Providing the value through the environment may be needed if SWI-
              Prolog is embedded into another executable.

ON-LINE HELP

       SWI-Prolog has on-line help. This provides  a  fast  lookup  and  browsing  facility  to  the  SWI-Prolog
       Reference  manual.  The  on-line  manual can show predicate definitions as well as entire sections of the
       manual.

       help   Equivalent to help(help/1).

       help(+What)
              Show a specified part of the manual.  What is one of:

              Name/Arity
                     give help on the specified predicate

              Name   give help on the named predicate with any arity or a C interface function with that name.

              Section
                     display the specified section of the SWI-Prolog Reference Manual.  Section numbers are dash
                     separated numbers: e.g.  2-3 refers to section 2.3 of the manual.

              If Prolog is used together with the GUI tool XPCE, these predicates start a  graphical  interface,
              providing a coherent interface to help/1, apropos/1 and explain/1.

FILES

       This  installation  of  SWI-Prolog  has been configured using the configure option --prefix=/usr.  If the
       files listed below are not at the indicated place, the installation has probably been moved.  Use

       ?- current_prolog_flag(home, Home).

       to find the local installation directory of SWI-Prolog.

       ~/.config/swi-prolog/init.pl
              Personal initialisation files consulted by SWI-Prolog on startup.  The exact location  depends  on
              the OS.

       /usr/lib/swipl-9.0.4/bin//
              Location for the executables.

       /usr/lib/swipl-9.0.4/include/
              Location  for  the  include  files.  If writable, SWI-Prolog.h is also copied to /usr/include/SWI-
              Prolog.h.

       /usr/lib/swipl-9.0.4/library/
              SWI-Prolog user libraries.

       /usr/lib/swipl-9.0.4/boot/
              SWI-Prolog kernel parts  written  in  Prolog.   The  startup  file  /usr/lib/swipl-9.0.4/  may  be
              recreated using the command from the directory /usr/lib/swipl-9.0.4:

              bin//swipl -O -o  -b boot/init.pl

       /usr/lib/swipl-9.0.4/doc/packages
              HTML and/or PDF documentation on the installed add-ons.

       /usr/lib/swipl-9.0.4/
              Default  startup  file.   This  is a `intermediate code' file containing precompiled code from the
              boot directory.  The -xbootfile option may be used to select a different file.

       /usr/lib/swipl-9.0.4/runtime//libpl.a
              SWI-Prolog library for embedding.  See also plld(1).

SEE ALSO

       The SWI-Prolog web-home at http://www.swi-prolog.org

       Jan Wielemaker SWI-Prolog Reference Manual at http://www.swi-prolog.org/pldoc/index.html

       Documentation on the add-on packages in /usr/lib/swipl-9.0.4/boot/doc

       William F. Clocksin & Christopher S. Mellish, Programming in Prolog,  fourth  edition,  Springer  Verlag,
       Berlin 1994.

       swipl-ld(1)

WARRANTY

       The  software  is  provided  as  is,  without warranty of any kind, express or implied, including but not
       limited to the warranties of merchantability, fitness for a particular purpose and non  infringement.  In
       no event shall the author or his employer be liable for any claim, damages or other liability, whether in
       an  action of contract, tort or otherwise, arising from, out of or in connection with the software or the
       use or other dealings in the software.

LICENSE INFORMATION

       SWI-Prolog is distributed under the Simplified BSD or BSD-2  License.   A  particular  configuration  may
       contain  components  that are subject to other license conditions.  Use license/0 to find components with
       less  permissive  license   conditions.    See   the   SWI-Prolog   license   page   at   http://www.swi-
       prolog.org/license.html for details.

COPYRIGHT

       Copyright (c) 1986-2020 University of Amsterdam, VU University Amsterdam

AUTHOR

       Jan Wielemaker

SWI-Prolog 8                                      Oct 10, 2020                                          swipl(1)