Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
swipl(1)		    General Commands Manual		      swipl(1)

NAME
       swipl - SWI-Prolog 9.2.9

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 imme-
       diately.	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  fea-
       tures  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 documenta-
       tion 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 compatibil-
	      ity 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 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
		     as	returned by the	current_prolog_flag home.

	      PLARCH The architecture identifier used.	Together  with	PLBASE
		     this defines the location of various components.  For ex-
		     ample,	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	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".

	      PLSOPATH
		     Environment variable used by the hosting operating	system
		     to	 extend	the search path	for shared objects.  For exam-
		     ple, 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 li-
		     braries 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.

       --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 op-
	      tion.

       --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  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.	Depre-
	      cated  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 compat-
	      ible 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 mes-
	      sages.

       --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 de-
	      bugger.	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 ed-
	      itor 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	embed-
	      ded 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.	  Nor-
	      mally discovered from the	executable or configured default loca-
	      tion.  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	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.

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

       /usr/local/lib/swipl-9.2.9/bin//
	      Location for the executables.

       /usr/local/lib/swipl-9.2.9/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-9.2.9/library/
	      SWI-Prolog user libraries.

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

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

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

       /usr/local/lib/swipl-9.2.9/
	      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-9.2.9/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-pro-
       log.org/pldoc/index.html

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

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  Amster-
       dam

AUTHOR
       Jan Wielemaker

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=swipl&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help