


swipl(1)                                                 swipl(1)


NAME
       swipl - SWI-Prolog 5.10.2

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

DESCRIPTION
       SWI-Prolog  is an ISO compatible Prolog compiler. It has a good collec-
       tion of built-in predicates, a large set of which it shares with  Edin-
       burgh  C-Prolog, Quintus Prolog and SICStus Prolog.  Among its features
       are a  very  fast  compiler,  a  Quintus-like  module  system,  library
       autoloading,  garbage  collection,  atom  garbage  collection, fast bi-
       directional C interface, true C++ interface,  execution  profiling  and
       many more.

       Add-on  packages  provide  graphics  (XPCE),  TCP/IP, process controll,
       SGML/XML/HTML/RDF support and many more. In addition, XPCE  provides  a
       development  environment,  consisting of hypertext help-system, source-
       level debugger, integrated editor and many navigation tools.

       This manual page only lists the commandline options.   Full  documenta-
       tion  is  available  on-line as well as in HTML and PDF format from the
       WWW home page.


LICENSE INFORMATION
       SWI-Prolog is distributed under the LGPL (Lesser  Gnu  Public  License)
       for maximal compatibility with the Free Software movement, while allow-
       ing for use with proprietary software components.  See  the  SWI-Prolog
       home page at http://www.swi-prolog.org for details.


OPTIONS
       --help Gives a summary of the most important options.

       --version
              Displays version and architecture information.

       --arch Prints 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  Pro-
              log.   It is normally invoked as eval `swipl -dump-runtime-vari-
              ables`, 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



SWI-Prolog 5               Feb 8, 2006                          1





swipl(1)                                                 swipl(1)


                     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

              PLLIBS The required libraries for linking libswipl.a

              PLCFLAGS
                     Flags that need to be passed to the C-compiler to  gener-
                     ate 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".

              PLVERSION
                     Numeric representation of the SWI-Prolog version.

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

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

       -Gsize[kmg]
              Sets  the  global  stack size to size.  The default is 4 Mbytes.
              The global stack is used to store compound terms, floating point
              numbers, big integers and strings. See also the -L option.

       -Lsize[kmg]
              Sets  the local stack size to size.  The default unit is Kbytes.
              The local stack is used to  store  environment  frames,  choice-
              points and foreign-language term-references.  Note that SWI-Pro-
              log does last-call optimisation  to  minimize  the  local  stack
              requirements. If the argument ends in m , the argument is inter-
              preted in Mbytes. A g suffix is interpreted  in  Gbytes  (64-bit
              machines  only).   This flag sets the maximum value to which the
              stack is allowed to grow (default 2048). A maximum is useful  to
              prevent  buggy  programs from claiming all the memory resources.
              -L0 sets the limit to the highest possible value.

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




SWI-Prolog 5               Feb 8, 2006                          2





swipl(1)                                                 swipl(1)


       -Tsize[kmg]
              Sets  the trail stack size to size K bytes. The default is 4096.
              See -L for more details.

       -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 ...
              Compiles 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.

       -f file
              Use file as initialisation file instead of  `.plrc'.  `-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 exe-
              cutable, 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.  It is
              also used to turn a file into an  executable  Prolog  script  on
              Unix systems using the following first line

              #!/usr/local/bin/swipl option ... -s

       --quiet -q
              Operate silently.  This option suppresses all informational mes-
              sages, such as for compiling files.

       -g goal
              Goal is executed just before entering the top level. The default
              is  a  predicate  which  prints 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 pro-
              tect it from being expanded by the Unix shell.

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




SWI-Prolog 5               Feb 8, 2006                          3





swipl(1)                                                 swipl(1)


       -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
              Switches  tty  control (using ioctl(2)) on (+tty) or off (-tty).
              Normally tty control is switched on. This default depends on the
              installation. You may wish to switch tty control off if SWI-Pro-
              log 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.

       --nosignals
              Disable handling of signals.  Often used if SWI-Prolog is embed-
              ded in another application on Unix systems.

       --     Stops scanning for more arguments.

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.




SWI-Prolog 5               Feb 8, 2006                          4





swipl(1)                                                 swipl(1)


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

FILES
       This installation of SWI-Prolog has been configured using the configure
       option  --prefix=/usr/local.   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.

       .plrc

       ~/.plrc
              Personal  initialisation  files  consulted  by   SWI-Prolog   on
              startup.  If both exist .plrc is used.

       /usr/local/lib/swipl-5.10.2/bin/sparc64-openbsd4.9/
              Location for the executables.

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

       /usr/local/lib/swipl-5.10.2/library/
              SWI-Prolog user libraries.

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

              bin/sparc64-openbsd4.9/swipl -O -o boot32.prc -b boot/init.pl

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

       /usr/local/lib/swipl-5.10.2/boot32.prc
              Default startup file.  This is a `intermediate code'  file  con-
              taining  precompiled  code from the boot directory.  The -xboot-
              file option may be used to select a different file.

       /usr/local/lib/swipl-5.10.2/runtime/sparc64-openbsd4.9/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   Manualat   http://www.swi-pro-
       log.org/pldoc/index.html

       Documentation        on        the       add-on       packages       in



SWI-Prolog 5               Feb 8, 2006                          5





swipl(1)                                                 swipl(1)


       /usr/local/lib/swipl-5.10.2/boot/doc

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

       plrc(1) and plld(1)  and xpce(1)

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

COPYING
       SWI-Prolog  is  distributed under the LGPL (Lesser GNU Public Licence).
       The license terms are in the file COPYING or  on  the  GNU  website  at
       http://www.gnu.org.

COPYRIGHT
       Copyright (c) 1986-2009 University of Amsterdam.

AUTHOR
       Jan Wielemaker































SWI-Prolog 5               Feb 8, 2006                          6


