1\chapter{The SWI-Prolog library} \label{sec:libpl} 2 3This chapter documents the SWI-Prolog library. As SWI-Prolog provides 4auto-loading, there is little difference between library predicates 5and built-in predicates. Part of the library is therefore documented 6in the rest of the manual. Library predicates differ from built-in 7predicates in the following ways: 8 9\begin{itemize} 10 \item User definition of a built-in leads to a permission error, 11 while using the name of a library predicate is allowed. 12 13 \item If autoloading is disabled explicitly or because trapping 14 unknown predicates is disabled (see unknown/2 and 15 current_prolog_flag/2), library predicates must be loaded 16 explicitly. 17 18 \item Using libraries reduces the footprint of applications that 19 don't need them. 20\end{itemize} 21 22\begin{quote}\em 23The documentation of the library has just started. Material from the 24standard packages should be moved here, some material from other parts 25of the manual should be moved too and various libraries are not 26documented at all. 27\end{quote} 28 29\input{aggregate} 30\input{ansiterm} 31\input{apply} 32\input{assoc} 33\input{broadcast} 34\input{charsio} 35\input{check} 36\input{clpb} 37\input{clpfd} 38\input{clpqr} 39\input{csv} 40\input{dcgbasics} 41\input{dcghighorder} 42\input{debug} 43\input{dicts} 44\input{error} 45\input{gensym} 46\input{intercept} 47\input{iostream} 48\input{listing} 49\input{lists} 50\input{main} 51\input{nbset} 52\input{wwwbrowser} 53\input{occurs} 54\input{option} 55\input{optparse} 56\input{ordsets} 57\input{pairs} 58\input{persistency} 59\input{pio} 60\input{predicateoptions} 61\input{prologjiti} 62\input{prologpack} 63\input{prologxref} 64\input{quasiquotations} 65\input{random} 66\input{readutil} 67\input{record} 68\input{registry} 69\input{settings} 70\InputIfFileExists{simplex}{}{} 71\input{solutionsequences} 72\input{tables} 73\input{thread} 74\input{threadpool} 75\input{ugraphs} 76\input{url} 77\input{varnumbers} 78\input{yall} 79