File: main.doc

package info (click to toggle)
swi-prolog 7.2.3%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 84,180 kB
  • ctags: 45,684
  • sloc: ansic: 330,358; perl: 268,104; sh: 6,795; java: 4,904; makefile: 4,561; cpp: 4,153; ruby: 1,594; yacc: 843; xml: 82; sed: 12; sql: 6
file content (252 lines) | stat: -rw-r--r-- 7,854 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
#ifdef BOOK
\documentclass[9pt,b5thesispaper]{swipl}
\setlength\voffset        {-15mm}
\setlength\paperheight    {220mm}
\setlength\textheight     {170mm}
\setlength\textwidth      {130mm}
\setlength\paperwidth     {170mm}
\setlength\oddsidemargin  {0mm}
\setlength\evensidemargin {-10mm}
\def\setuphyperref{\relax}
#else
\documentclass[11pt,twoside]{report}
\def\setuphyperref{\usepackage[pdftex,colorlinks=true,urlcolor=blue]{hyperref}}
#endif
\usepackage{pl}
\usepackage{html}
\usepackage{logo}
\usepackage{plpage}
%\onefile
\sloppy
\makeindex

% Configure latex2html

\htmloutput{Manual}				% Output directory
\htmlmainfile{index}				% Main document file
\bodycolor{white}				% Page colour
\linkimage{home}{home.gif}			% Images for links
\linkimage{index}{yellow_pages.gif}
\linkimage{contents}{index.gif}
\linkimage{up}{up.gif}
\linkimage{previous}{prev.gif}
\linkimage{next}{next.gif}
\linkimage{summary}{info.gif}

%\includeonly{ide}

#ifdef ONLINE
\usepackage{txt}
\usepackage{plonline}
\setcounter{secnumdepth}{3}
\sloppy
#else
\usepackage{times}
\usepackage{fancyheadings}
\renewcommand{\runningtitle}{SWI-Prolog \versionshort{} Reference Manual}
\headheight 14pt
\renewcommand{\chaptermark}[1]{\markboth{#1}{#1}} % remember chapter title
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
                                                % section number and title
\lhead[\fancyplain{}{\bf\thepage}]{\fancyplain{}{\bf\rightmark}}
\rhead[\fancyplain{}{\bf\leftmark}]{\fancyplain{}{\bf\thepage}}
\footrulewidth 0.2pt
\lfoot[\tiny \runningtitle]{}
\rfoot[]{\tiny \runningtitle}
\cfoot{}
\pagestyle{fancyplain}
#endif

\newcommand{\vmajor}{7}
\newcommand{\vminor}{2}
\newcommand{\vpatch}{3}
\newcommand{\vmonth}{August}
\newcommand{\vyear}{2015}

#ifdef BOOK
\newcommand{\versionshort}{\vmajor}
\newcommand{\versionlong}{\vmajor.\vminor, \vmonth~\vyear}
#else
\newcommand{\versionshort}{\vmajor.\vminor}
\newcommand{\versionlong}{\vmajor.\vminor.\vpatch, \vmonth~\vyear}
#endif
\renewcommand{\arabicday}{\versionshort}

\title{SWI-Prolog \versionshort{} Reference Manual}
\author{\email[Jan Wielemaker]{J.Wielemaker@vu.nl}	\\
	Department of Computer Science			\\
	VU University Amsterdam				\\
	De Boelelaan 1081a, 1081 HV~~Amsterdam \vspace{5pt}\\
	Human-Computer Studies (HCS, formerly SWI)	\\
	    Kruislaan 419, 1098 VA~~Amsterdam		\\
		    The Netherlands}

\begin{htmlonly}
\maketitle

\begin{abstract}
SWI-Prolog is a comprehensive and portable implementation of the Prolog
programming language. SWI-Prolog aims to be a robust and scalable
implementation supporting a wide range of applications. In particular,
it ships with a wide range of interface libraries, providing interfaces
to other languages, databases, graphics and networking. It provides
extensive support for managing HTML/SGML/XML and RDF documents.  The
system is particularly suited for server applications due to robust
support for multithreading and HTTP server libraries.

SWI-Prolog is designed in the `Edinburgh tradition'. In addition to the
ISO Prolog standard it is largely compatible to Quintus, SICStus and YAP
Prolog.  SWI-Prolog provides a compatibility framework developed in
cooperation with YAP and instantiated for YAP, SICStus and IF/Prolog.

SWI-Prolog aims at providing a good development environment, including
extensive editor support, graphical source-level debugger, autoloading
and `make' facility and much more. SWI-Prolog editor and the PDT plugin
for Eclipse provide alternative environments.

This document gives an overview of the features, system limits and
built-in predicates.
\end{abstract}

\subsection*{About this document}

This manual is written and maintained using \LaTeX{}. The \LaTeX{}
source is included in the source distribution of SWI-Prolog. The manual
is converted into HTML using a converter distributed with the SWI-Prolog
sources. From the same source we generate the plain-text version and
index used by the online help system (located in the file \file{MANUAL}
in the library directory) as well as the PDF version. Sources, binaries
and documentation can be downloaded from the \url[SWI-Prolog download
page]{http://www.swi-prolog.org/download.html}.


The SWI-Prolog project {\bf home page} is located
\url[here]{http://www.swi-prolog.org}

\includegraphics[width=4cm]{figs/by-sa}\\[0mm]
This work is licensed under the Creative Commons Attribution-ShareAlike
3.0 Unported License. To view a copy of this license, visit
\url{http://creativecommons.org/licenses/by-sa/3.0/} or send a letter to
Creative Commons, 444 Castro Street, Suite 900, Mountain View,
California, 94041, USA.
\end{htmlonly}


\begin{document}

\begin{titlepage}

\newlength{\uvawidth}
\settowidth{\uvawidth}{\LARGE VU University Amsterdam}

\newcommand{\uvaaddress}{%
\parbox[b]{\uvawidth}{%
    \begin{center}
	\LARGE
	      University of Amsterdam			\\[3mm]
	\small
	   Kruislaan 419, 1098 VA~~Amsterdam		\\%
		    The Netherlands			\\%
    \end{center}}}
\newcommand{\vuaddress}{%
\parbox[b]{\uvawidth}{%
    \begin{center}
	\LARGE
	      VU University Amsterdam			\\[3mm]
	\small
	   De Boelelaan 1081a, 1081 HV~~Amsterdam	\\%
		    The Netherlands			\\%
    \end{center}}}

\mbox{~}
\begin{center}
\vspace{-3cm}
\raisebox{5cm}{
\parbox{\textwidth}{%
    \makebox[\textwidth]{%
        \raisebox{0mm}{\vuaddress}
	\hfill%
	\raisebox{0mm}{\uvaaddress}}
}}
\vfil\vfil\vfil
#ifdef ONLINE
	{\Huge SWI-Prolog \versionshort}	      \\[0mm]
#else
	\includegraphics[width=\uvawidth]{figs/swipl} \\[0mm]
#endif
	{\LARGE Reference Manual}		      \\[0mm]
        {\it Updated for version \versionlong}	      \\[10mm]
	{\large \it Jan Wielemaker}		      \\[0mm]
	{\large \email{J.Wielemaker@vu.nl}}           \\[0mm]
	{\large	http://www.swi-prolog.org}
\end{center}

\vfil

\begin{quote}
SWI-Prolog is a comprehensive and portable implementation of the Prolog
programming language. SWI-Prolog aims to be a robust and scalable
implementation supporting a wide range of applications. In particular,
it ships with a wide range of interface libraries, providing interfaces
to other languages, databases, graphics and networking. It provides
extensive support for managing HTML/SGML/XML and RDF documents.  The
system is particularly suited for server applications due to robust
support for multithreading and HTTP server libraries.

SWI-Prolog is designed in the `Edinburgh tradition'. In addition to the
ISO Prolog standard it is largely compatible to Quintus, SICStus and YAP
Prolog.  SWI-Prolog provides a compatibility framework developed in
cooperation with YAP and instantiated for YAP, SICStus and IF/Prolog.

SWI-Prolog aims at providing a good development environment, including
extensive editor support, graphical source-level debugger, autoloading
and `make' facility and much more. SWI-Prolog editor and the PDT plugin
for Eclipse provide alternative environments.

This document gives an overview of the features, system limits and
built-in predicates.
\end{quote}
\vfil
\vfil
\newpage
\thispagestyle{empty}

\mbox{~}
\vfill
\begin{quote}
\hspace{-8mm}\includegraphics[width=4cm]{figs/by-sa}\\[0mm]
This work is licensed under the Creative Commons Attribution-ShareAlike
3.0 Unported License. To view a copy of this license, visit
\url{http://creativecommons.org/licenses/by-sa/3.0/} or send a letter to
Creative Commons, 444 Castro Street, Suite 900, Mountain View,
California, 94041, USA.
\end{quote}
\end{titlepage}

\setcounter{page}{1}
\tableofcontents

\include{intro}
\include{overview}
\include{ide}
\include{builtin}
\include{extensions}
\include{module}
\include{attvar}
\include{chr}
\include{threads}
\include{foreign}
\include{runtime}
\appendix
\include{lib/library}
\include{hack}
\include{dialect}
\include{glossary}
\include{license}
\include{summary}

\bibliographystyle{name}
\bibliography{pl}
\printindex

\end{document}