Man Linux: Main Page and Category List

NAME

       swipl - SWI-Prolog 5.8.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
       collection of built-in predicates, a large set of which it shares  with
       Edinburgh  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
       documentation  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
       allowing 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 plld (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/runtime/$PLARCH/libpl.a

              PLLIBS The required libraries for linking libpl.a

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

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

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

       -Asize[kmg]
              Sets  the argument stack size to size.  The default is 1 Mbytes.
              The argument-size determines the maximum term-nesting  of  terms
              that  can  be  compiled  and  executed.   Both  the compiler and
              virtual  machine  use   ‘last-argument   optimisation’,   so‐for
              example‐intptr_t  lists  do  not require the argument stack. See
              also the -L option.

       -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,
              choicepoints and foreign-language  term-references.   Note  that
              SWI-Prolog  does  last-call  optimisation  to minimize the local
              stack requirements. If the argument ends in m , the argument  is
              interpreted  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.

       -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
              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.  It  is
              also  used  to  turn  a file into an executable Prolog script on
              Unix systems using the following first line

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

       --quiet -q
              Operate silently.   This  option  suppresses  all  informational
              messages, 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
              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
              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-
              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.

       --nosignals
              Disable  handling  of  signals.   Often  used  if  SWI-Prolog is
              embedded 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.

              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.

       .plrc

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

       /usr/lib/swipl-5.8.2/bin/i386/
              Location for the executables.

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

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

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

              bin/i386/swipl -O -o boot32.prc -b boot/init.pl

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

       /usr/lib/swipl-5.8.2/boot32.prc
              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-5.8.2/runtime/i386/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://gollem.science.uva.nl/SWI-Prolog/Manual/

       Documentation on the add-on packages in /usr/lib/swipl-5.8.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
       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.

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-2007 University of Amsterdam.

AUTHOR

       Jan Wielemaker