PageSourceSearch

https://www.swi-prolog.org/

html swi-prolog.org collected 2026-09-24 06:23:14 UTC 10,705 bytes, 277 lines download raw bytes

1<!DOCTYPE html>
2<html>
3<head>
4<title>SWI-Prolog</title>
5
6<link rel="stylesheet" type="text/css" href="/css/footer.css">
7<link rel="stylesheet" type="text/css" href="/css/plweb.css">
8<link rel="stylesheet" type="text/css" href="/css/swipl.css">
9<script type="text/javascript" src="/js/jquery-3.6.0.min.js">
10
11</script>
11
12<link rel="stylesheet" type="text/css" href="/js/jquery/ui/jquery-ui.min.css">
13<link rel="stylesheet" type="text/css" href="/pldoc/res/pldoc.css">
14<script type="text/javascript" src="/js/jquery/menu.js">
15
16</script>
vendor: 1 bytes, line 16
16
17<script type="text/javascript" src="/js/jquery/ui/jquery-ui.min.js">
18
19</script>
19
20<meta http-equiv="content-type" content="text/html; charset=UTF-8">
21<link rel="shortcut icon" href="/icons/favicon.ico">
22<link rel="apple-touch-icon" href="/apple-touch-icon.png">
23<script defer="defer" async="async" src="https://buttons.github.io/buttons.js">
24
25</script>
25
26
27</head>
28<body>
29<div class="outer-container">
30<div id="upper-header">
31
32<table id="upper-header-contents">
33<tr><td id="dyknow-container">Did you know ... 
34<script type="text/javascript">
35
36		   $(function() {
37		     $.ajax({ url: "/dyk",
38			      success: function(data) {
39					   console.log(data);
40			        $("#"+"dyknow-container").html(data);
41			      }
42		            });
43		   });
44		  
45</script>
45
46</td><td id="search-container"><span class="lbl">Search Documentation:</span>
47
48<form action="/search" id="search-form">
49<input name="for" id="for" value="">
50<input id="submit-for" type="submit" value="Search">
51<script type="text/javascript">
52
53    $(function() {
54	function htmlEncode(text) {
55	  if ( !text ) return "";
56	  return document.createElement('a')
57			 .appendChild(document.createTextNode(text))
58			 .parentNode
59			 .innerHTML;
60	}
61	$("#"+"for").autocomplete({
62	minLength: 1,
63	delay: 0.3,
64	source: "/autocomplete/ac_predicate",
65	focus: function(event,ui) {
66	  $("#"+"for").val(ui.item.label);
67	  return false;
68	},
69	select: function(event,ui) {
70	  $("#"+"for").val(ui.item.label);
71	  window.location.href = ui.item.href;
72	  return false;
73	}
74	})
75	.data("ui-autocomplete")._renderItem = function(ul,item) {
76	var label = String(htmlEncode(item.label)).replace(
77	    htmlEncode(this.term),
78	    "<span class=\"acmatch\">"+this.term+"</span>");
79	var tag = item.tag ? " <i>["+item.tag+"]</i>" : "";
80	return $("<li>")
81	  .append("<a class=\""+item.class+"\">"+label+tag+"</a>")
82	  .appendTo(ul)
83	};
84	});
85
86</script>
86
87</form>
88
89</td></tr>
90</table>
91
92</div>
93<div id="tag-line-area"><a href="http://www.swi-prolog.org"><img class="owl" src="/icons/swipl.png" alt="SWI-Prolog owl logo" title="SWI-Prolog owl logo"></a><span class="tagline">Robust, mature, free. <b>Prolog for the real world.</b></span></div>
94
95<div id="menubar">
96<div class="menubar fixed-width">
97<ul class="menubar-container">
98<li><a href="/">HOME</a></li>
99<li>DOWNLOAD
100<ul>
101<li><a href="/Download.html">SWI-Prolog</a></li>
102<li><a href="/build/">Sources/building</a></li>
103<li><a href="/Docker.html">Docker images</a></li>
104<li><a href="/pack/list">Add-ons</a></li>
105<li><a href="https://github.com/SWI-Prolog">Browse GIT<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
106</ul>
107</li>
108<li>DOCUMENTATION
109<ul>
110<li><a href="/pldoc/refman/">Manual</a></li>
111<li><a href="/pldoc/package/">Packages</a></li>
112<li><a href="/FAQ/">FAQ</a></li>
113<li><a href="/pldoc/man?section=cmdline">Command line</a></li>
114<li><a href="/pldoc/package/pldoc.html">PlDoc</a></li>
115<li>Bluffers<span class="arrow">&#x25B6;</span>
116<ul>
117<li><a href="/pldoc/man?section=syntax">Prolog syntax</a></li>
118<li><a href="/pldoc/man?section=emacsbluff">PceEmacs</a></li>
119<li><a href="/pldoc/man?section=htmlwrite">HTML generation</a></li>
120</ul>
121</li>
122<li><a href="/license.html">License</a></li>
123<li><a href="/privacy.html">Privacy</a></li>
124<li><a href="/Publications.html">Publications</a></li>
125<li><a href="/pldoc/man?section=extensions">Rev 7 Extensions</a></li>
126</ul>
127</li>
128<li>TUTORIALS
129<ul>
130<li>Beginner<span class="arrow">&#x25B6;</span>
131<ul>
132<li><a href="/pldoc/man?section=quickstart">Getting started</a></li>
133<li><a href="http://lpn.swi-prolog.org/">Learn Prolog Now!<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
134<li><a href="http://book.simply-logical.space/">Simply Logical<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
135<li><a href="/pldoc/man?section=debugoverview">Debugger</a></li>
136<li><a href="/IDE.html">Development tools</a></li>
137</ul>
138</li>
139<li>Advanced<span class="arrow">&#x25B6;</span>
140<ul>
141<li>
141<a href="http://chiselapp.com/user/ttmrichter/repository/gng/doc/trunk/output/tutorials/swiplmodtut.html">Modules<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
142<li><a href="https://www.github.com/Anniepoo/swipldcgtut/blob/master/dcgcourse.adoc">Grammars (DCGs)<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
143<li><a href="https://www.github.com/Anniepoo/swiplclpfd/blob/master/clpfd.adoc">clp(fd)<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
144<li><a href="https://www.github.com/Anniepoo/swiplmessage/blob/master/message.adoc">Printing messages<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
145<li><a href="http://chiselapp.com/user/ttmrichter/repository/swipldoctut/doc/tip/doc/tutorial.html">PlDoc<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
146</ul>
147</li>
148<li>Web applications<span class="arrow">&#x25B6;</span>
149<ul>
150<li><a href="https://www.github.com/Anniepoo/swiplwebtut/blob/master/web.adoc">Web applications<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
151<li><a href="https://github.com/triska/letswicrypt">Let's Encrypt!<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
152<li><a href="/pengines/">Pengines</a></li>
153</ul>
154</li>
155<li>Semantic web<span class="arrow">&#x25B6;</span>
156<ul>
157<li><a href="https://cliopatria.swi-prolog.org/tutorial/">ClioPatria<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
158<li><a href="/howto/UseRdfMeta.html">RDF namespaces</a></li>
159</ul>
160</li>
161<li>Graphics<span class="arrow">&#x25B6;</span>
162<ul>
163<li><a href="/download/xpce/doc/prolog/coursenotes.pdf">XPCE</a></li>
164<li><a href="/Graphics.html">GUI options</a></li>
165</ul>
166</li>
167<li>Machine learning<span class="arrow">&#x25B6;</span>
168<ul>
169<li><a href="http://cplint.ml.unife.it/">Probabilistic Logic Programming<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
170</ul>
171</li>
172<li>External collections<span class="arrow">&#x25B6;</span>
173<ul>
174<li><a href="https://www.metalevel.at/prolog">Meta level tutorials<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
175</ul>
176</li>
177<li>For packagers<span class="arrow">&#x25B6;</span>
178<ul>
179<li><a href="/build/guidelines.html">Linux packages</a></li>
180</ul>
181</li>
182</ul>
183</li>
184<li><a href="/community.html">COMMUNITY</a>
185<ul>
186<li><a href="https://swi-prolog.discourse.group">Forum &amp; mailing list<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
187<li><a href="/blog">Blog</a></li>
188<li><a href="/news/archive">News</a></li>
189<li><a href="/bug.html">Report a bug</a></li>
190<li><a href="/howto/SubmitPatch.html">Submit a patch</a></li>
191<li><a href="/howto/Pack.html">Submit an add-on</a></li>
192<li><a href="https://github.com/SWI-Prolog/roadmap">Roadmap (on GitHub)<img class="ext-link" src="/icons/ext-link.png" alt="External"></a></li>
193<li><a href="/Links.html">External links</a></li>
194<li><a href="/contributing.html">Contributing</a></li>
195<li><a href="/Code-of-Conduct.html">Code of Conduct</a></li>
196<li><a href="/Contributors.html">Contributors</a></li>
197<li><a href="/loot.html">SWI-Prolog items</a></li>
198</ul>
199</li>
200<li><a href="/commercial/index.html">COMMERCIAL</a></li>
201<li>WIKI
202<ul>
203<li><a href="/openid/login?openid.return_to=/">Login</a></li>
204<li><a href="/wiki/changes">View changes</a></li>
205<li><a href="/wiki/sandbox">Sandbox</a></li>
206<li><a href="/wiki/">Wiki help</a></li>
207<li><a href="/list-tags">All tags</a></li>
208</ul>
209</li>
210</ul>
211</div>
212</div>
213<div id="blurb">      
214<div>	 SWI-Prolog offers a comprehensive free Prolog environment.
215	 Since its start in 1987, SWI-Prolog development has been driven
216	 by the needs of real world applications. SWI-Prolog is widely
217	 used in research and education as well as commercial applications.
218	 Join over a million users who have downloaded SWI-Prolog.
219	 <a href="/features.html">more ...</a>
220      </div>
221
222    </div>
223
224<table id="cta-container">
225<tr><td style="text-align:left; vertical-align: top">	   <a href="Download.html">Download SWI-Prolog</a>
226	</td><td style="text-align:center; vertical-align: top">	   <a href="GetStarted.html">Get Started</a>
227	</td><td style="text-align:right; white-space: nowrap; vertical-align: top">	   <a href="https://swish.swi-prolog.org">	   Try SWI-Prolog online (SWISH) </a><br>
228
229	   <a href="https://wasm.swi-prolog.org/wasm/tinker" style="font-size: 60%">	   🔥 Run SWI-Tinker in your browser</a><br>
230
231      </td></tr>
232</table>
233
234
235<div class="github-actions"><a class="github-button" id="github-star" href="https://github.com/SWI-Prolog/swipl-devel" data-color-scheme="no-preference: light; light: light;
235 dark: dark;" data-size="large" data-show-count="true" aria-label="Star SWI-Prolog/swipl-devel on GitHub">Star</a><a class="github-button" id="github-sponsor" href="https://github.com/sponsors/SWI-Prolog" data-color-scheme="no-preference: light; light: light; dark: dark;" data-size="large" data-icon="octicon-heart" data-show-count="true" aria-label="Sponsor @SWI-Prolog on GitHub">Sponsor</a></div>
236<span> </span>
237
238
239<p>
240</p>
241<div id="dialog" style="display:none;"></div>
242<div class="footer newstyle">
243<div class="footer">
244<div id="footer">
245<div class="current-user"><a class="signin" href="/openid/login?openid.return_to=/">login</a></div>
246<a id="powered" href="http://www.swi-prolog.org">Powered by SWI-Prolog 10.1.15-4-g902720a5d</a></div>
247</div>
248<script type="text/javascript">
249
250		   $().ready(function()
251	           { var $navtree = $(".navwindow");
252		     var $navcontent = $(".navcontent");
253		     if ( $navtree.length > 0 && $navcontent.length > 0 )
254		     { var $window = $(window).on("resize", function()
255		       { var ch = $navcontent.height();
256			 var nh = $navtree.height();
257			 if ( nh > 400 && nh > ch + 200 )
258			 { if ( ch < 300 ) ch = 300;
259			   $navtree.height(ch);
260			   $navtree.css('overflow-y', 'scroll');
261
262			   var current = $navtree.find("li.nav.current");
263			   if ( current.position().top > ch-40 )
264			   { $navtree.scrollTop(current.position().top - (ch-40));
265			   }
266			 }
267		       }).trigger("resize")
268		     }
269		   });
270		  
271</script>
271
272</div>
273<div id="tail-end">&nbsp;</div>
274</div>
275</body>
276
277</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.