--- /srv/rebuilderd/tmp/rebuilderdxLWEnz/inputs/swi-prolog-doc_9.2.9+dfsg-1_all.deb +++ /srv/rebuilderd/tmp/rebuilderdxLWEnz/out/swi-prolog-doc_9.2.9+dfsg-1_all.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2025-01-18 19:07:58.000000 debian-binary │ --rw-r--r-- 0 0 0 13068 2025-01-18 19:07:58.000000 control.tar.xz │ --rw-r--r-- 0 0 0 1641292 2025-01-18 19:07:58.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 13064 2025-01-18 19:07:58.000000 control.tar.xz │ +-rw-r--r-- 0 0 0 1641192 2025-01-18 19:07:58.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── ./usr/share/swi-prolog/doc/manindex.db │ │ │┄ Ordering differences only │ │ │ @@ -2646,39 +2646,48 @@ │ │ │ i(/(/,6),"Shorthand for Free/[]>>Lambda.",swi_man_manual('yall.html'),manual,10692). │ │ │ i(/(/,7),"Shorthand for Free/[]>>Lambda.",swi_man_manual('yall.html'),manual,10692). │ │ │ i(/(/,8),"Shorthand for Free/[]>>Lambda.",swi_man_manual('yall.html'),manual,10692). │ │ │ i(/(/,9),"Shorthand for Free/[]>>Lambda.",swi_man_manual('yall.html'),manual,10692). │ │ │ i(/(is_lambda,1),"True if Term is a valid Lambda expression.",swi_man_manual('yall.html'),manual,12301). │ │ │ i(/(lambda_calls,2),"Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N.",swi_man_manual('yall.html'),manual,12513). │ │ │ i(/(lambda_calls,3),"Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N.",swi_man_manual('yall.html'),manual,12513). │ │ │ +i(section(0,'0','packages/pcre.html'),"SWI-Prolog Regular Expression library",swi_man_packages('pcre.html'),packages,2789). │ │ │ +i(section(2,'1','sec:pcre-motivation'),"Motivation",swi_man_packages('pcre.html'),packages,3629). │ │ │ +i(section(2,'2','sec:pcre'),"library(pcre): Perl compatible regular expression matching for SWI-Prolog",swi_man_packages('pcre.html'),packages,5250). │ │ │ +i(/(re_match,2),"Succeeds if String matches Regex.",swi_man_packages('pcre.html'),packages,7733). │ │ │ +i(/(re_match,3),"Succeeds if String matches Regex.",swi_man_packages('pcre.html'),packages,7733). │ │ │ +i(/(re_matchsub,3),"Match String against Regex.",swi_man_packages('pcre.html'),packages,12363). │ │ │ +i(/(re_matchsub,4),"Match String against Regex.",swi_man_packages('pcre.html'),packages,12363). │ │ │ +i(/(re_foldl,6),"Fold all matches of Regex on String.",swi_man_packages('pcre.html'),packages,14298). │ │ │ +i(/(re_split,3),"Split String using the regular expression Pattern.",swi_man_packages('pcre.html'),packages,16297). │ │ │ +i(/(re_split,4),"Split String using the regular expression Pattern.",swi_man_packages('pcre.html'),packages,16297). │ │ │ +i(/(re_replace,4),"Replace matches of the regular expression Pattern in String with With (possibly containing references to captured substrings).",swi_man_packages('pcre.html'),packages,17744). │ │ │ +i(/(re_replace,5),"Replace matches of the regular expression Pattern in String with With (possibly containing references to captured substrings).",swi_man_packages('pcre.html'),packages,17744). │ │ │ +i(/(re_compile,3),"Compiles Pattern to a Regex blob of type regex (see blob/2).",swi_man_packages('pcre.html'),packages,20380). │ │ │ +i(/(re_flush,0),"Clean pattern and replacement caches.",swi_man_packages('pcre.html'),packages,30433). │ │ │ +i(/(re_config,1),"Extract configuration information from the pcre library.",swi_man_packages('pcre.html'),packages,30692). │ │ │ i(section(0,'0','packages/readline.html'),"SWI-Prolog binding to GNU readline",swi_man_packages('readline.html'),packages,2786). │ │ │ i(section(2,'1','sec:readline'),"library(readline): GNU readline interface",swi_man_packages('readline.html'),packages,3542). │ │ │ i(/(rl_read_init_file,1),"Read a GNU readline config file.",swi_man_packages('readline.html'),packages,4466). │ │ │ i(/(rl_add_history,1),"Add a line to the history.",swi_man_packages('readline.html'),packages,4711). │ │ │ i(/(rl_write_history,1),"Save the history to File.",swi_man_packages('readline.html'),packages,4902). │ │ │ i(/(rl_read_history,1),"Read a saved history from File.",swi_man_packages('readline.html'),packages,5218). │ │ │ -i(section(0,'0','packages/libedit.html'),"SWI-Prolog binding to BSD libedit",swi_man_packages('libedit.html'),packages,2785). │ │ │ -i(section(2,'1','sec:editline'),"library(editline): BSD libedit based command line editing",swi_man_packages('libedit.html'),packages,3472). │ │ │ -i(/(el_wrap,0),"Enable using editline on the standard user streams if user_input is connected to a terminal.",swi_man_packages('libedit.html'),packages,3934). │ │ │ -i(/(el_wrap,4),"Enable editline on the stream-triple .",swi_man_packages('libedit.html'),packages,4514). │ │ │ -i(/(el_setup,1),"This hooks is called as forall(el_setup(Input), true) after the input stream has been wrapped, the default Prolog commands have been added and the default user setup file has been sourced using el_source/2.",swi_man_packages('libedit.html'),packages,5111). │ │ │ -i(/(el_wrapped,1),"True if In is a stream wrapped by el_wrap/3.",swi_man_packages('libedit.html'),packages,5608). │ │ │ -i(/(el_unwrap,1),"Remove the libedit wrapper for In and the related output and error streams.",swi_man_packages('libedit.html'),packages,5859). │ │ │ -i(/(el_source,2),"Initialise editline by reading the contents of File.",swi_man_packages('libedit.html'),packages,6304). │ │ │ -i(/(el_bind,2),"Invoke the libedit bind command with the given arguments.",swi_man_packages('libedit.html'),packages,6597). │ │ │ -i(/(el_addfn,4),"Add a new command to the command line editor associated with Input.",swi_man_packages('libedit.html'),packages,7426). │ │ │ -i(/(el_line,2),"Fetch the currently buffered input line.",swi_man_packages('libedit.html'),packages,9430). │ │ │ -i(/(el_cursor,2),"Move the cursor Move character forwards (positive) or backwards (negative).",swi_man_packages('libedit.html'),packages,9838). │ │ │ -i(/(el_insertstr,2),"Insert Text at the cursor.",swi_man_packages('libedit.html'),packages,10115). │ │ │ -i(/(el_deletestr,2),"Delete Count characters before the cursor.",swi_man_packages('libedit.html'),packages,10329). │ │ │ -i(/(el_history,2),"Perform a generic action on the history.",swi_man_packages('libedit.html'),packages,10560). │ │ │ -i(/(el_history_events,2),"Unify Events with a list of pairs of the form Num-String, where Num is the event number and String is the associated string without terminating newline.",swi_man_packages('libedit.html'),packages,11272). │ │ │ -i(/(el_add_history,2),"Add a line to the command line history.",swi_man_packages('libedit.html'),packages,11669). │ │ │ -i(/(el_read_history,2),"Read the history saved using el_write_history/2.",swi_man_packages('libedit.html'),packages,11891). │ │ │ -i(/(el_write_history,2),"Save editline history to File.",swi_man_packages('libedit.html'),packages,12329). │ │ │ +i(section(0,'0','packages/zlib.html'),"SWI-Prolog binding to zlib",swi_man_packages('zlib.html'),packages,2778). │ │ │ +i(section(2,'1','sec:zlib'),"Zlib and compression",swi_man_packages('zlib.html'),packages,3948). │ │ │ +i(section(2,'2','sec:zlib-predicates'),"Predicate reference",swi_man_packages('zlib.html'),packages,6333). │ │ │ +i(/(zopen,3),"Creates ZStream, providing compressed access to Stream.",swi_man_packages('zlib.html'),packages,6521). │ │ │ +i(/(gzopen,3),"Same as gzopen(File, Mode, Stream,[]).",swi_man_packages('zlib.html'),packages,8986). │ │ │ +i(/(gzopen,4),"Open gzip compatible File for reading or writing.",swi_man_packages('zlib.html'),packages,9168). │ │ │ +i(section(2,'3','sec:zlib-streams'),"Interaction with Prolog stream predicates",swi_man_packages('zlib.html'),packages,9828). │ │ │ +i(section(0,'0','packages/yaml.html'),"SWI-Prolog YAML library",swi_man_packages('yaml.html'),packages,2775). │ │ │ +i(section(2,'1','sec:yaml'),"library(yaml): Process YAML data",swi_man_packages('yaml.html'),packages,3695). │ │ │ +i(/(yaml_read,2),"Parse Input to a YAML DOM.",swi_man_packages('yaml.html'),packages,4216). │ │ │ +i(/(yaml_write,2),"Emit a YAML DOM object as a serialized YAML document to the stream Out.",swi_man_packages('yaml.html'),packages,6180). │ │ │ +i(/(yaml_write,3),"Emit a YAML DOM object as a serialized YAML document to the stream Out.",swi_man_packages('yaml.html'),packages,6180). │ │ │ +i(/(tagged,3),"Hook that allows convering !!tag values to be decoded or encoded.",swi_man_packages('yaml.html'),packages,7476). │ │ │ i(section(0,'0','packages/tipc.html'),"Transparent Inter-Process Communications (TIPC) libraries",swi_man_packages('tipc.html'),packages,2809). │ │ │ i(section(2,'1','sec:tipc-main'),"Transparent Inter-Process Communications (TIPC)",swi_man_packages('tipc.html'),packages,5477). │ │ │ i(section(3,'1.1','sec:tipc-overview'),"Overview",swi_man_packages('tipc.html'),packages,6442). │ │ │ i(section(3,'1.2','sec:tipc-address-structures'),"TIPC Address Structures",swi_man_packages('tipc.html'),packages,12123). │ │ │ i(section(2,'2','sec:tipc-libraries'),"The TIPC libraries: library(tipc/...)",swi_man_packages('tipc.html'),packages,15621). │ │ │ i(section(3,'2.1','sec:tipc'),"library(tipc/tipc): TIPC Sockets",swi_man_packages('tipc.html'),packages,15819). │ │ │ i(/(tipc_socket,2),"Creates a TIPC-domain socket of the type specified by SocketType, and unifies it to an identifier, SocketId.",swi_man_packages('tipc.html'),packages,17537). │ │ │ @@ -2734,469 +2743,111 @@ │ │ │ i(/(linda_eval,2),"Causes Goal to be evaluated in parallel with a parent predicate.",swi_man_packages('tipc.html'),packages,58999). │ │ │ i(/(linda_eval_detached,1),"Causes Goal to be evaluated in parallel with a parent predicate.",swi_man_packages('tipc.html'),packages,58999). │ │ │ i(/(linda_eval_detached,2),"Causes Goal to be evaluated in parallel with a parent predicate.",swi_man_packages('tipc.html'),packages,58999). │ │ │ i(/(tuple,1),"registers Head as a virtual tuple in TIPC Linda's tuple space.",swi_man_packages('tipc.html'),packages,61798). │ │ │ i(/(tuple,2),"registers Head as a virtual tuple in TIPC Linda's tuple space.",swi_man_packages('tipc.html'),packages,61798). │ │ │ i(/(tipc_linda_server,0),"Acts as a stand-alone Linda server.",swi_man_packages('tipc.html'),packages,63677). │ │ │ i(/(tipc_initialize,0),"See tipc:tipc_initialize/0.",swi_man_packages('tipc.html'),packages,64795). │ │ │ -i(section(0,'0','packages/ssl.html'),"SWI-Prolog SSL Interface",swi_man_packages('ssl.html'),packages,2776). │ │ │ -i(section(2,'1','sec:ssl-intro'),"Introduction",swi_man_packages('ssl.html'),packages,9022). │ │ │ -i(section(2,'2','sec:ssl'),"library(ssl): Secure Socket Layer (SSL) library",swi_man_packages('ssl.html'),packages,11063). │ │ │ -i(/(ssl_context,3),"Create an SSL context.",swi_man_packages('ssl.html'),packages,12932). │ │ │ -i(/(ssl_upgrade_legacy_options,2),"Handle deprecated cacert_file(Spec) option and map it to the new cacerts(+List) option.",swi_man_packages('ssl.html'),packages,25003). │ │ │ -i(/(ssl_add_certificate_key,4),"Add an additional certificate/key pair to SSL0, yielding SSL.",swi_man_packages('ssl.html'),packages,25322). │ │ │ -i(/(ssl_set_options,3),"SSL is the same as SSL0, except for the options specified in Options.",swi_man_packages('ssl.html'),packages,26252). │ │ │ -i(/(ssl_property,2),"True when Property is a property of SSL.",swi_man_packages('ssl.html'),packages,27371). │ │ │ -i(/(ssl_negotiate,5),"Once a connection is established and a read/write stream pair is available, (PlainRead and PlainWrite), this predicate can be called to negotiate an SSL session over the streams.",swi_man_packages('ssl.html'),packages,27904). │ │ │ -i(/(ssl_peer_certificate,2),"True if the peer certificate is provided (this is always the case for a client connection) and Certificate unifies with the peer certificate.",swi_man_packages('ssl.html'),packages,29306). │ │ │ -i(/(ssl_peer_certificate_chain,2),"Certificates is the certificate chain provided by the peer, represented as a list of certificates.",swi_man_packages('ssl.html'),packages,29952). │ │ │ -i(/(ssl_session,2),"Retrieves (debugging) properties from the SSL context associated with Stream.",swi_man_packages('ssl.html'),packages,30269). │ │ │ -i(/(load_certificate,2),"Loads a certificate from a PEM- or DER-encoded stream, returning a certificate.",swi_man_packages('ssl.html'),packages,32202). │ │ │ -i(/(write_certificate,3),"Writes a certificate to the stream Stream.",swi_man_packages('ssl.html'),packages,33007). │ │ │ -i(/(load_crl,2),"Loads a CRL from a PEM- or DER-encoded stream, returning a term containing terms hash/1, signature/1, issuer_name/1 and revocations/1, which is a list of revoked/2 terms.",swi_man_packages('ssl.html'),packages,33306). │ │ │ -i(/(system_root_certificates,1),"List is a list of trusted root certificates as provided by the OS.",swi_man_packages('ssl.html'),packages,33915). │ │ │ -i(/(load_private_key,3),"Load a private key PrivateKey from the given stream Stream, using Password to decrypt the key if it is encrypted.",swi_man_packages('ssl.html'),packages,35193). │ │ │ -i(/(load_public_key,2),"Load a public key PublicKey from the given stream Stream.",swi_man_packages('ssl.html'),packages,36067). │ │ │ -i(/(cert_accept_any,5),"Implementation for the hook‘cert_verify_hook(:Hook)` that accepts any certificate.",swi_man_packages('ssl.html'),packages,36776). │ │ │ -i(/(same_certificate,2),"True if CertificateA is logically the same as CertificateB, even if they are stored in different blobs",swi_man_packages('ssl.html'),packages,37355). │ │ │ -i(/(verify_certificate_issuer,2),"True if Certificate is a certificate which was issued by the certificate Issuer.",swi_man_packages('ssl.html'),packages,37638). │ │ │ -i(/(verify_certificate,3),"True if it is possible to build a chain of trust from Certificate to one of the certificates in TrustedCertificates, optionally using the (untrusted) certificates in AuxiliaryCertificates to complete the chain.",swi_man_packages('ssl.html'),packages,37910). │ │ │ -i(/(certificate_field,2),"Retrieve the field matching Field from Certificate.",swi_man_packages('ssl.html'),packages,38489). │ │ │ -i(/(ssl_secure_ciphers,1),"Ciphers is a secure cipher preference list that can be used in the cipher_list/1 option of ssl_context/3.",swi_man_packages('ssl.html'),packages,39852). │ │ │ -i(section(2,'3','sec:crypto'),"library(crypto): Cryptography and authentication library",swi_man_packages('ssl.html'),packages,41072). │ │ │ -i(section(3,'3.1','sec:crypto-introduction'),"Introduction",swi_man_packages('ssl.html'),packages,41471). │ │ │ -i(section(3,'3.2','sec:crypto-secure-defaults'),"Design principle: Secure default algorithms",swi_man_packages('ssl.html'),packages,41826). │ │ │ -i(section(3,'3.3','sec:crypto-binary-data'),"Representing binary data",swi_man_packages('ssl.html'),packages,43913). │ │ │ -i(/(hex_bytes,2),"Relation between a hexadecimal sequence and a list of bytes.",swi_man_packages('ssl.html'),packages,44340). │ │ │ -i(section(3,'3.4','sec:crypto-random'),"Cryptographically secure random numbers",swi_man_packages('ssl.html'),packages,45404). │ │ │ -i(/(crypto_n_random_bytes,2),"Bytes is unified with a list of N cryptographically secure pseudo-random bytes.",swi_man_packages('ssl.html'),packages,45889). │ │ │ -i(section(3,'3.5','sec:crypto-hash'),"Hashes",swi_man_packages('ssl.html'),packages,47381). │ │ │ -i(section(4,'3.5.1','sec:crypto-hash-basic'),"Hashes of data and files",swi_man_packages('ssl.html'),packages,48488). │ │ │ -i(/(crypto_data_hash,3),"Hash is the hash of Data.",swi_man_packages('ssl.html'),packages,48753). │ │ │ -i(/(crypto_file_hash,3),"True if Hash is the hash of the content of File.",swi_man_packages('ssl.html'),packages,51163). │ │ │ -i(section(4,'3.5.2','sec:crypto-hash-password'),"Hashes of passwords",swi_man_packages('ssl.html'),packages,51527). │ │ │ -i(/(crypto_password_hash,2),"If Hash is instantiated, the predicate succeeds iff the hash matches the given password.",swi_man_packages('ssl.html'),packages,51857). │ │ │ -i(/(crypto_password_hash,3),"Derive Hash based on Password.",swi_man_packages('ssl.html'),packages,52312). │ │ │ -i(section(4,'3.5.3','sec:crypto-hkdf'),"HMAC-based key derivation function (HKDF)",swi_man_packages('ssl.html'),packages,55512). │ │ │ -i(/(crypto_data_hkdf,4),"Concentrate possibly dispersed entropy of Data and then expand it to the desired length.",swi_man_packages('ssl.html'),packages,56172). │ │ │ -i(section(4,'3.5.4','sec:crypto-hash-incremental'),"Hashing incrementally",swi_man_packages('ssl.html'),packages,58274). │ │ │ -i(/(crypto_context_new,2),"Context is unified with the empty context, taking into account Options.",swi_man_packages('ssl.html'),packages,58960). │ │ │ -i(/(crypto_data_context,3),"Context0 is an existing computation context, and Context is the new context after hashing Data in addition to the previously hashed data.",swi_man_packages('ssl.html'),packages,59588). │ │ │ -i(/(crypto_context_hash,2),"Obtain the hash code of Context.",swi_man_packages('ssl.html'),packages,60367). │ │ │ -i(/(crypto_open_hash_stream,3),"Open a filter stream on OrgStream that maintains a hash.",swi_man_packages('ssl.html'),packages,60796). │ │ │ -i(/(crypto_stream_hash,2),"Unify Hash with a hash for the bytes sent to or read from HashStream.",swi_man_packages('ssl.html'),packages,61530). │ │ │ -i(section(3,'3.6','sec:crypto-signatures'),"Digital signatures",swi_man_packages('ssl.html'),packages,62116). │ │ │ -i(section(4,'3.6.1','sec:crypto-ECDSA'),"ECDSA",swi_man_packages('ssl.html'),packages,63337). │ │ │ -i(/(ecdsa_sign,4),"Create an ECDSA signature for Data with EC private key Key.",swi_man_packages('ssl.html'),packages,63515). │ │ │ -i(/(ecdsa_verify,4),"True iff Signature can be verified as the ECDSA signature for Data, using the EC public key Key.",swi_man_packages('ssl.html'),packages,64467). │ │ │ -i(section(4,'3.6.2','sec:crypto-RSA'),"RSA",swi_man_packages('ssl.html'),packages,65092). │ │ │ -i(/(rsa_sign,4),"Create an RSA signature for Data with private key Key.",swi_man_packages('ssl.html'),packages,65264). │ │ │ -i(/(rsa_verify,4),"Verify an RSA signature for Data with public key Key.",swi_man_packages('ssl.html'),packages,67014). │ │ │ -i(section(3,'3.7','sec:crypto-asymmetric'),"Asymmetric encryption and decryption",swi_man_packages('ssl.html'),packages,68075). │ │ │ -i(/(rsa_private_decrypt,4),"RSA Public key encryption and decryption primitives.",swi_man_packages('ssl.html'),packages,68497). │ │ │ -i(/(rsa_private_encrypt,4),"RSA Public key encryption and decryption primitives.",swi_man_packages('ssl.html'),packages,68497). │ │ │ -i(/(rsa_public_decrypt,4),"RSA Public key encryption and decryption primitives.",swi_man_packages('ssl.html'),packages,68497). │ │ │ -i(/(rsa_public_encrypt,4),"RSA Public key encryption and decryption primitives.",swi_man_packages('ssl.html'),packages,68497). │ │ │ -i(section(3,'3.8','sec:crypto-symmetric'),"Symmetric encryption and decryption",swi_man_packages('ssl.html'),packages,70737). │ │ │ -i(/(crypto_data_encrypt,6),"Encrypt the given PlainText, using the symmetric algorithm Algorithm, key Key, and initialization vector (or nonce) IV, to give CipherText.",swi_man_packages('ssl.html'),packages,71091). │ │ │ -i(/(crypto_data_decrypt,6),"Decrypt the given CipherText, using the symmetric algorithm Algorithm, key Key, and initialization vector IV, to give PlainText.",swi_man_packages('ssl.html'),packages,77224). │ │ │ -i(section(3,'3.9','sec:crypto-numbertheory'),"Number theory",swi_man_packages('ssl.html'),packages,79063). │ │ │ -i(/(crypto_modular_inverse,3),"Compute the modular multiplicative inverse of the integer X.",swi_man_packages('ssl.html'),packages,79426). │ │ │ -i(/(crypto_generate_prime,3),"Generate a prime P with at least N bits.",swi_man_packages('ssl.html'),packages,79801). │ │ │ -i(/(crypto_is_prime,2),"True iff P passes a probabilistic primality test.",swi_man_packages('ssl.html'),packages,80435). │ │ │ -i(section(3,'3.10','sec:crypto-ec'),"Elliptic curves",swi_man_packages('ssl.html'),packages,81079). │ │ │ -i(/(crypto_name_curve,2),"Obtain a handle for a named elliptic curve.",swi_man_packages('ssl.html'),packages,81779). │ │ │ -i(/(crypto_curve_order,2),"Obtain the order of an elliptic curve.",swi_man_packages('ssl.html'),packages,82406). │ │ │ -i(/(crypto_curve_generator,2),"Point is the generator of the elliptic curve Curve.",swi_man_packages('ssl.html'),packages,82766). │ │ │ -i(/(crypto_curve_scalar_mult,4),"R is the result of N times Point on the elliptic curve Curve.",swi_man_packages('ssl.html'),packages,83037). │ │ │ -i(section(3,'3.11','sec:crypto-shared-secret'),"Example: Establishing a shared secret",swi_man_packages('ssl.html'),packages,83442). │ │ │ -i(section(2,'4','sec:ssl-xml-libs'),"XML cryptographic libraries",swi_man_packages('ssl.html'),packages,88238). │ │ │ -i(section(3,'4.1','sec:saml'),"library(saml): SAML Authentication",swi_man_packages('ssl.html'),packages,88826). │ │ │ -i(section(3,'4.2','sec:xmlenc'),"library(xmlenc): XML encryption library",swi_man_packages('ssl.html'),packages,92427). │ │ │ -i(/(decrypt_xml,4),"KeyCallback may be called as follows: call(KeyCallback, name, KeyName, Key)call(KeyCallback, public_key, public_key(RSA), Key)call(KeyCallback, certificate, Certificate, Key)",swi_man_packages('ssl.html'),packages,93108). │ │ │ -i(/(load_certificate_from_base64_string,2),"Loads a certificate from a string, adding newlines and header where appropriate so that OpenSSL 1.0.1+ will be able to parse it",swi_man_packages('ssl.html'),packages,93638). │ │ │ -i(section(3,'4.3','sec:xmldsig'),"library(xmldsig): XML Digital signature",swi_man_packages('ssl.html'),packages,94001). │ │ │ -i(/(xmld_signed_DOM,3),"Translate an XML DOM structure in a signed version.",swi_man_packages('ssl.html'),packages,94809). │ │ │ -i(/(xmld_verify_signature,4),"Confirm that an ds:Signature element contains a valid signature.",swi_man_packages('ssl.html'),packages,95779). │ │ │ -i(section(2,'5','sec:ssl-security'),"SSL Security",swi_man_packages('ssl.html'),packages,96605). │ │ │ -i(section(2,'6','sec:crl'),"CRLs and Revocation",swi_man_packages('ssl.html'),packages,100971). │ │ │ -i(section(4,'6.1','sec:disable-certificate'),"Disabling certificate checking",swi_man_packages('ssl.html'),packages,104171). │ │ │ -i(section(4,'6.2','sec:ssl-safe-connection'),"Establishing a safe connection",swi_man_packages('ssl.html'),packages,104906). │ │ │ -i(section(2,'7','sec:ssl-examples'),"Example code",swi_man_packages('ssl.html'),packages,108094). │ │ │ -i(section(3,'7.1','sec:ssl-https-client'),"Accessing an HTTPS server",swi_man_packages('ssl.html'),packages,108708). │ │ │ -i(section(3,'7.2','sec:ssl-https-server'),"Creating an HTTPS server",swi_man_packages('ssl.html'),packages,109504). │ │ │ -i(section(3,'7.3','sec:https-proxy'),"HTTPS behind a proxy",swi_man_packages('ssl.html'),packages,114362). │ │ │ -i(section(2,'8','sec:compatibility'),"Compatibility of the API",swi_man_packages('ssl.html'),packages,115934). │ │ │ -i(section(2,'9','sec:ssl-acknowledgments'),"Acknowledgments",swi_man_packages('ssl.html'),packages,116970). │ │ │ -i(section(0,'0','packages/janus.html'),"SWI-Prolog Python interface",swi_man_packages('janus.html'),packages,2779). │ │ │ -i(section(2,'1','sec:janus-intro'),"Introduction",swi_man_packages('janus.html'),packages,8477). │ │ │ -i(section(2,'2','sec:janus-data'),"Data conversion",swi_man_packages('janus.html'),packages,12018). │ │ │ -i(section(2,'3','sec:janus-examples'),"Janus by example - Prolog calling Python",swi_man_packages('janus.html'),packages,19697). │ │ │ -i(section(3,'3.1','sec:janus-spacy'),"Janus calling spaCy",swi_man_packages('janus.html'),packages,19965). │ │ │ -i(section(2,'4','sec:janus'),"library(janus): Call Python from Prolog",swi_man_packages('janus.html'),packages,23732). │ │ │ -i(/(py_version,0),"Print version info on the embedded Python installation based on Python sys.version.",swi_man_packages('janus.html'),packages,24666). │ │ │ -i(/(py_call,1),"Call Python and return the result of the called function.",swi_man_packages('janus.html'),packages,25019). │ │ │ -i(/(py_call,2),"Call Python and return the result of the called function.",swi_man_packages('janus.html'),packages,25019). │ │ │ -i(/(py_call,3),"Call Python and return the result of the called function.",swi_man_packages('janus.html'),packages,25019). │ │ │ -i(/(py_iter,2),"True when Value is returned by the Python Iterator.",swi_man_packages('janus.html'),packages,29654). │ │ │ -i(/(py_iter,3),"True when Value is returned by the Python Iterator.",swi_man_packages('janus.html'),packages,29654). │ │ │ -i(/(py_setattr,3),"Set a Python attribute on an object.",swi_man_packages('janus.html'),packages,31985). │ │ │ -i(/(py_is_object,1),"True when Term is a Python object reference.",swi_man_packages('janus.html'),packages,32643). │ │ │ -i(/(py_is_dict,1),"True if Term is a Prolog term that represents a Python dict.",swi_man_packages('janus.html'),packages,33443). │ │ │ -i(/(py_free,1),"Immediately free (decrement the reference count) for the Python object Obj.",swi_man_packages('janus.html'),packages,33942). │ │ │ -i(/(py_with_gil,1),"Run Goal as once(Goal) while holding the Phyton GIL (Global Interpreter Lock).",swi_man_packages('janus.html'),packages,35211). │ │ │ -i(/(py_gil_owner,1),"True when the Python GIL is owned by Thread.",swi_man_packages('janus.html'),packages,35802). │ │ │ -i(/(py_func,3),"Call Python Function in Module.",swi_man_packages('janus.html'),packages,36498). │ │ │ -i(/(py_func,4),"Call Python Function in Module.",swi_man_packages('janus.html'),packages,36498). │ │ │ -i(/(py_dot,3),"Call a method or access an attribute on the object ObjRef.",swi_man_packages('janus.html'),packages,37439). │ │ │ -i(/(py_dot,4),"Call a method or access an attribute on the object ObjRef.",swi_man_packages('janus.html'),packages,37439). │ │ │ -i(/(values,3),"Get the value associated with Dict at Path.",swi_man_packages('janus.html'),packages,38133). │ │ │ -i(/(keys,2),"True when Keys is a list of keys that appear in Dict.",swi_man_packages('janus.html'),packages,38597). │ │ │ -i(/(key,2),"True when Key is a key in Dict.",swi_man_packages('janus.html'),packages,38998). │ │ │ -i(/(items,2),"True when Items is a list of Key:Value that appear in Dict.",swi_man_packages('janus.html'),packages,39418). │ │ │ -i(/(py_shell,0),"Start an interactive Python REPL loop using the embedded Python interpreter.",swi_man_packages('janus.html'),packages,39828). │ │ │ -i(/(py_pp,1),"Pretty prints the Prolog translation of a Python data structure in Python syntax.",swi_man_packages('janus.html'),packages,40634). │ │ │ -i(/(py_pp,2),"Pretty prints the Prolog translation of a Python data structure in Python syntax.",swi_man_packages('janus.html'),packages,40634). │ │ │ -i(/(py_pp,3),"Pretty prints the Prolog translation of a Python data structure in Python syntax.",swi_man_packages('janus.html'),packages,40634). │ │ │ -i(/(py_object_dir,2),"Examine attributes of an object.",swi_man_packages('janus.html'),packages,41760). │ │ │ -i(/(py_object_dict,2),"Examine attributes of an object.",swi_man_packages('janus.html'),packages,41760). │ │ │ -i(/(py_obj_dir,2),"deprecatedUse py_object_dir/2 or py_object_dict/2.",swi_man_packages('janus.html'),packages,42419). │ │ │ -i(/(py_obj_dict,2),"deprecatedUse py_object_dir/2 or py_object_dict/2.",swi_man_packages('janus.html'),packages,42419). │ │ │ -i(/(py_type,2),"True when Type is the name of the type of ObjRef.",swi_man_packages('janus.html'),packages,42927). │ │ │ -i(/(py_isinstance,2),"True if ObjRef is an instance of Type or an instance of one of the sub types of Type.",swi_man_packages('janus.html'),packages,43308). │ │ │ -i(/(py_module_exists,1),"True if Module is a currently loaded Python module or it can be loaded.",swi_man_packages('janus.html'),packages,43910). │ │ │ -i(/(py_hasattr,2),"True when Name is an attribute of Module.",swi_man_packages('janus.html'),packages,44245). │ │ │ -i(/(py_import,2),"Import a Python module.",swi_man_packages('janus.html'),packages,44918). │ │ │ -i(/(py_module,2),"Load Source into the Python module Module.",swi_man_packages('janus.html'),packages,46620). │ │ │ -i(/(py_initialize,3),"Initialize and configure the embedded Python system.",swi_man_packages('janus.html'),packages,47567). │ │ │ -i(/(py_lib_dirs,1),"True when Dirs is a list of directories searched for Python modules.",swi_man_packages('janus.html'),packages,48704). │ │ │ -i(/(py_add_lib_dir,1),"Add a directory to the Python module search path.",swi_man_packages('janus.html'),packages,49087). │ │ │ -i(/(py_add_lib_dir,2),"Add a directory to the Python module search path.",swi_man_packages('janus.html'),packages,49087). │ │ │ -i(section(3,'4.1','sec:janus-python-errors'),"Handling Python errors in Prolog",swi_man_packages('janus.html'),packages,50466). │ │ │ -i(section(3,'4.2','sec:janus-data-errors'),"Calling and data translation errors",swi_man_packages('janus.html'),packages,52153). │ │ │ -i(section(3,'4.3','sec:janus-venv'),"Janus and virtual environments (venv)",swi_man_packages('janus.html'),packages,55123). │ │ │ -i(section(2,'5','sec:janus-call-prolog'),"Calling Prolog from Python",swi_man_packages('janus.html'),packages,56939). │ │ │ -i(section(3,'5.1','sec:janus-class-query'),"Janus iterator query",swi_man_packages('janus.html'),packages,74729). │ │ │ -i(section(3,'5.2','sec:janus-class-apply'),"Janus iterator apply",swi_man_packages('janus.html'),packages,77368). │ │ │ -i(section(3,'5.3','sec:janus-locals-and-globals'),"Janus access to Python locals and globals",swi_man_packages('janus.html'),packages,79350). │ │ │ -i(section(3,'5.4','sec:janus-truth'),"Janus and Prolog truth",swi_man_packages('janus.html'),packages,80765). │ │ │ -i(section(4,'5.4.1','sec:janus-class-undefined'),"Janus classed Undefined and TruthVal",swi_man_packages('janus.html'),packages,82249). │ │ │ -i(section(3,'5.5','sec:janus-class-term'),"Janus class Term",swi_man_packages('janus.html'),packages,86140). │ │ │ -i(section(3,'5.6','sec:janus-class-prolog-error'),"Janus class PrologError",swi_man_packages('janus.html'),packages,87803). │ │ │ -i(section(2,'6','sec:janus-threads'),"Janus and threads",swi_man_packages('janus.html'),packages,90130). │ │ │ -i(section(3,'6.1','sec:janus-thread-call-prolog'),"Calling Prolog from a Python thread",swi_man_packages('janus.html'),packages,91687). │ │ │ -i(section(3,'6.2','sec:janus-deadlocks'),"Python and Prolog deadlocks",swi_man_packages('janus.html'),packages,94033). │ │ │ -i(section(2,'7','sec:janus-signals'),"Janus and signals",swi_man_packages('janus.html'),packages,95086). │ │ │ -i(section(2,'8','sec:janus-version'),"Janus versions",swi_man_packages('janus.html'),packages,96998). │ │ │ -i(section(2,'9','sec:janus-python-package'),"Janus as a Python package",swi_man_packages('janus.html'),packages,97882). │ │ │ -i(section(2,'10','sec:janus-prolog-python'),"Prolog and Python",swi_man_packages('janus.html'),packages,99582). │ │ │ -i(section(2,'11','sec:janus-performance'),"Janus performance evaluation",swi_man_packages('janus.html'),packages,99946). │ │ │ -i(section(2,'12','sec:janus-vs-c'),"Python or C/C++ for accessing resources?",swi_man_packages('janus.html'),packages,101226). │ │ │ -i(section(2,'13','sec:janus-platforms'),"Janus platforms notes",swi_man_packages('janus.html'),packages,103181). │ │ │ -i(section(3,'13.1','sec:janus-on-windows'),"Janus on Windows",swi_man_packages('janus.html'),packages,103762). │ │ │ -i(section(3,'13.2','sec:janus-on-linux'),"Janus on Linux",swi_man_packages('janus.html'),packages,104947). │ │ │ -i(section(3,'13.3','sec:janus-on-macos'),"Janus on MacOS",swi_man_packages('janus.html'),packages,105625). │ │ │ -i(section(2,'14','sec:janus-vs-xsb'),"Compatibility to the XSB Janus implementation",swi_man_packages('janus.html'),packages,106418). │ │ │ -i(section(3,'14.1','sec:janus-portable-code'),"Writing portable Janus modules",swi_man_packages('janus.html'),packages,110530). │ │ │ -i(section(2,'15','sec:janus-status'),"Status of Janus",swi_man_packages('janus.html'),packages,110950). │ │ │ -i(section(0,'0','packages/jpl.html'),"JPL: A bidirectional Prolog/Java interface",swi_man_packages('jpl.html'),packages,2794). │ │ │ -i(section(3,'1','sec:jpl'),"library(jpl): A Java interface for SWI Prolog 7.x",swi_man_packages('jpl.html'),packages,3486). │ │ │ -i(/(jpl_new,3),"X can be: an atomic classname, e.g.",swi_man_packages('jpl.html'),packages,3906). │ │ │ -i(/(jpl_call,4),"X should be either an object reference, e.g.",swi_man_packages('jpl.html'),packages,5604). │ │ │ -i(/(jpl_get,3),"X can be a classnameor a descriptoror an (object or array) type (for static fields)or a non-array object (for static and non-static fields)or an array (for’length’pseudo field, or indexed element retrieval) Fspec can be an atomic field nameor an integral array index (to get an element from an array)or a pair I-J of integers (to get a subrange of an array).",swi_man_packages('jpl.html'),packages,6979). │ │ │ -i(/(jpl_set,3),"sets the Fspec-th field of (class or object) X to value V iff it is assignable X can be a class instance (for static or non-static fields)or an array (for indexed element or subrange assignment)or a classname, or a class(_,_) or array(_) type (for static fields)but not a String (no fields to retrieve) Fspec can be an atomic field name (overloading through shadowing has yet to be handled properly)or an array index I (X must be an array object: V is assigned to X[I])or a pair I-J of integers (X must be an array object, V must be a list of values: successive members of V are assigned to X[I..J]) V must be a suitable value or object.",swi_man_packages('jpl.html'),packages,7987). │ │ │ -i(/(jpl_get_default_jvm_opts,1),"Returns (as a list of atoms) the options which will be passed to the JVM when it is initialised, e.g.",swi_man_packages('jpl.html'),packages,9065). │ │ │ -i(/(jpl_set_default_jvm_opts,1),"Replaces the default JVM initialisation options with those supplied.",swi_man_packages('jpl.html'),packages,9385). │ │ │ -i(/(jpl_get_actual_jvm_opts,1),"Returns (as a list of atoms) the options with which the JVM was initialised.",swi_man_packages('jpl.html'),packages,9649). │ │ │ -i(/(jpl_pl_lib_version,1),"Version is the fully qualified version identifier of the in-use Prolog component (jpl.pl) of JPL.",swi_man_packages('jpl.html'),packages,10018). │ │ │ -i(/(jpl_c_lib_version,1),"Version is the fully qualified version identifier of the in-use C component (jpl.c) of JPL.",swi_man_packages('jpl.html'),packages,10464). │ │ │ -i(/(jpl_class_to_classname,2),"Class is a reference to a class object.",swi_man_packages('jpl.html'),packages,10913). │ │ │ -i(/(jpl_class_to_type,2),"The Class is a reference to a (Java Universe) instance of java.lang.Class.",swi_man_packages('jpl.html'),packages,11618). │ │ │ -i(/(jpl_classname_to_class,2),"EntityName is the entity name to be mapped to a class reference.",swi_man_packages('jpl.html'),packages,12240). │ │ │ -i(/(jpl_entityname_to_type,2),"EntityName is the entity name (an atom) denoting a Java type, to be mapped to a JPL type.",swi_man_packages('jpl.html'),packages,12643). │ │ │ -i(/(jpl_type_to_entityname,2),"This is the converse of jpl_entityname_to_type/2",swi_man_packages('jpl.html'),packages,14220). │ │ │ -i(/(jpl_classname_to_type,2),"This is a wrapper around jpl_entityname_to_type/2 to keep the old exported predicate alive.",swi_man_packages('jpl.html'),packages,14495). │ │ │ -i(/(jpl_type_to_classname,2),"This is a wrapper around jpl_type_to_entityname/2 to keep the old exported predicate alive.",swi_man_packages('jpl.html'),packages,15034). │ │ │ -i(/(jpl_datum_to_type,2),"Datum must be a JPL representation of an instance of one (or more) Java types; Type is the unique most specialised type of which Datum denotes an instance; NB 3 is an instance of byte, char, short, int and long, of which byte and char are the joint, overlapping most specialised types, so this relates 3 to the pseudo subtype’char_byte’; See alsojpl_type_to_preferred_concrete_type/2 for converting inferred types to instantiable types",swi_man_packages('jpl.html'),packages,15573). │ │ │ -i(/(jpl_object_to_class,2),"fails silently if Object is not a valid reference to a Java object Class is a (canonical) reference to the (canonical) class object which represents the class of Object NB what's the point of caching the type if we don't look there first?",swi_man_packages('jpl.html'),packages,16312). │ │ │ -i(/(jpl_object_to_type,2),"Object must be a proper JPL reference to a Java object (i.e.",swi_man_packages('jpl.html'),packages,16754). │ │ │ -i(/(jpl_primitive_type,1),"Type is an atomic JPL representation of one of Java's primitive types.",swi_man_packages('jpl.html'),packages,17094). │ │ │ -i(/(jpl_ref_to_type,2),"Ref must be a proper JPL reference (to an object, null or void).",swi_man_packages('jpl.html'),packages,17539). │ │ │ -i(/(jpl_type_to_class,2),"Type is the JPL type, a ground term designating a class or an array type.",swi_man_packages('jpl.html'),packages,17797). │ │ │ -i(/(jpl_is_class,1),"True if Term is a JPL reference to an instance of java.lang.Class.",swi_man_packages('jpl.html'),packages,18171). │ │ │ -i(/(jpl_is_false,1),"True if Term is @(false), the JPL representation of the Java boolean value’false’.",swi_man_packages('jpl.html'),packages,18387). │ │ │ -i(/(jpl_is_null,1),"True if Term is @(null), the JPL representation of Java's’null’reference.",swi_man_packages('jpl.html'),packages,18632). │ │ │ -i(/(jpl_is_object,1),"True if Term is a well-formed JPL object reference.",swi_man_packages('jpl.html'),packages,18866). │ │ │ -i(/(jpl_is_object_type,1),"True if Term is an object (class or array) type, not e.g.",swi_man_packages('jpl.html'),packages,19119). │ │ │ -i(/(jpl_is_ref,1),"True if Term is a well-formed JPL reference, either to a Java object or to Java's notional but important’null’non-object.",swi_man_packages('jpl.html'),packages,19353). │ │ │ -i(/(jpl_is_true,1),"True if Term is @(true), the JPL representation of the Java boolean value’true’.",swi_man_packages('jpl.html'),packages,19620). │ │ │ -i(/(jpl_is_type,1),"True if Term is a well-formed JPL type structure.",swi_man_packages('jpl.html'),packages,19861). │ │ │ -i(/(jpl_is_void,1),"True if Term is @(void), the JPL representation of the pseudo Java value’void’(which is returned by jpl_call/4 when invoked on void methods).",swi_man_packages('jpl.html'),packages,20045). │ │ │ -i(/(jpl_false,1),"X is @(false), the JPL representation of the Java boolean value’false’.",swi_man_packages('jpl.html'),packages,20479). │ │ │ -i(/(jpl_null,1),"X is @(null), the JPL representation of Java's’null’reference.",swi_man_packages('jpl.html'),packages,20875). │ │ │ -i(/(jpl_true,1),"X is @(true), the JPL representation of the Java boolean value’true’.",swi_man_packages('jpl.html'),packages,21257). │ │ │ -i(/(jpl_void,1),"X is @(void), the JPL representation of the pseudo Java value’void’.",swi_man_packages('jpl.html'),packages,21647). │ │ │ -i(/(jpl_array_to_length,2),"Array should be a JPL reference to a Java array of any type.",swi_man_packages('jpl.html'),packages,22036). │ │ │ -i(/(jpl_array_to_list,2),"Array should be a JPL reference to a Java array of any type.",swi_man_packages('jpl.html'),packages,22501). │ │ │ -i(/(jpl_datums_to_array,2),"A will be a JPL reference to a new Java array, whose base type is the most specific Java type of which each member of Datums is (directly or indirectly) an instance.",swi_man_packages('jpl.html'),packages,23134). │ │ │ -i(/(jpl_enumeration_element,2),"Generates each Element from Enumeration.",swi_man_packages('jpl.html'),packages,23737). │ │ │ -i(/(jpl_enumeration_to_list,2),"Enumeration should be a JPL reference to an object which implements the Enumeration interface.",swi_man_packages('jpl.html'),packages,24212). │ │ │ -i(/(jpl_hashtable_pair,2),"Generates Key-Value pairs from the given HashTable.",swi_man_packages('jpl.html'),packages,24927). │ │ │ -i(/(jpl_iterator_element,2),"Iterator should be a JPL reference to an object which implements the java.util.Iterator interface.",swi_man_packages('jpl.html'),packages,25398). │ │ │ -i(/(jpl_list_to_array,2),"Datums should be a proper Prolog list of JPL datums (values or references).",swi_man_packages('jpl.html'),packages,26017). │ │ │ -i(/(jpl_terms_to_array,2),"Terms should be a proper Prolog list of arbitrary terms.",swi_man_packages('jpl.html'),packages,26534). │ │ │ -i(/(jpl_array_to_terms,2),"JRef should be a JPL reference to a Java array of org.jpl7.Term instances (or ots subtypes); Terms will be a list of the terms which the respective array elements represent.",swi_man_packages('jpl.html'),packages,26957). │ │ │ -i(/(jpl_map_element,2),"Map must be a JPL Reference to an object which implements the java.util.Map interface This generates each Key-Value pair from the Map, e.g.",swi_man_packages('jpl.html'),packages,27317). │ │ │ -i(/(jpl_set_element,2),"Set must be a JPL reference to an object which implements the java.util.Set interface.",swi_man_packages('jpl.html'),packages,28238). │ │ │ -i(/(jpl_servlet_byref,3),"This serves the byref servlet demo, exemplifying one tactic for implementing a servlet in Prolog by accepting the Request and Response objects as JPL references and accessing their members via JPL as required; See alsojpl_servlet_byval/3",swi_man_packages('jpl.html'),packages,28812). │ │ │ -i(/(jpl_servlet_byval,3),"This exemplifies an alternative (to jpl_servlet_byref) tactic for implementing a servlet in Prolog; most Request fields are extracted in Java before this is called, and passed in as a multimap (a map, some of whose values are maps).",swi_man_packages('jpl.html'),packages,29348). │ │ │ -i(/(jpl_pl_syntax,1),"Unifies Syntax with’traditional’or’modern’according to the mode in which SWI Prolog 7.x was started",swi_man_packages('jpl.html'),packages,29755). │ │ │ -i(section(0,'0','packages/yaml.html'),"SWI-Prolog YAML library",swi_man_packages('yaml.html'),packages,2775). │ │ │ -i(section(2,'1','sec:yaml'),"library(yaml): Process YAML data",swi_man_packages('yaml.html'),packages,3695). │ │ │ -i(/(yaml_read,2),"Parse Input to a YAML DOM.",swi_man_packages('yaml.html'),packages,4216). │ │ │ -i(/(yaml_write,2),"Emit a YAML DOM object as a serialized YAML document to the stream Out.",swi_man_packages('yaml.html'),packages,6180). │ │ │ -i(/(yaml_write,3),"Emit a YAML DOM object as a serialized YAML document to the stream Out.",swi_man_packages('yaml.html'),packages,6180). │ │ │ -i(/(tagged,3),"Hook that allows convering !!tag values to be decoded or encoded.",swi_man_packages('yaml.html'),packages,7476). │ │ │ -i(section(0,'0','packages/pcre.html'),"SWI-Prolog Regular Expression library",swi_man_packages('pcre.html'),packages,2789). │ │ │ -i(section(2,'1','sec:pcre-motivation'),"Motivation",swi_man_packages('pcre.html'),packages,3629). │ │ │ -i(section(2,'2','sec:pcre'),"library(pcre): Perl compatible regular expression matching for SWI-Prolog",swi_man_packages('pcre.html'),packages,5250). │ │ │ -i(/(re_match,2),"Succeeds if String matches Regex.",swi_man_packages('pcre.html'),packages,7733). │ │ │ -i(/(re_match,3),"Succeeds if String matches Regex.",swi_man_packages('pcre.html'),packages,7733). │ │ │ -i(/(re_matchsub,3),"Match String against Regex.",swi_man_packages('pcre.html'),packages,12363). │ │ │ -i(/(re_matchsub,4),"Match String against Regex.",swi_man_packages('pcre.html'),packages,12363). │ │ │ -i(/(re_foldl,6),"Fold all matches of Regex on String.",swi_man_packages('pcre.html'),packages,14298). │ │ │ -i(/(re_split,3),"Split String using the regular expression Pattern.",swi_man_packages('pcre.html'),packages,16297). │ │ │ -i(/(re_split,4),"Split String using the regular expression Pattern.",swi_man_packages('pcre.html'),packages,16297). │ │ │ -i(/(re_replace,4),"Replace matches of the regular expression Pattern in String with With (possibly containing references to captured substrings).",swi_man_packages('pcre.html'),packages,17744). │ │ │ -i(/(re_replace,5),"Replace matches of the regular expression Pattern in String with With (possibly containing references to captured substrings).",swi_man_packages('pcre.html'),packages,17744). │ │ │ -i(/(re_compile,3),"Compiles Pattern to a Regex blob of type regex (see blob/2).",swi_man_packages('pcre.html'),packages,20380). │ │ │ -i(/(re_flush,0),"Clean pattern and replacement caches.",swi_man_packages('pcre.html'),packages,30433). │ │ │ -i(/(re_config,1),"Extract configuration information from the pcre library.",swi_man_packages('pcre.html'),packages,30692). │ │ │ -i(section(0,'0','packages/bdb4pl.html'),"SWI-Prolog BerkeleyDB interface",swi_man_packages('bdb4pl.html'),packages,2782). │ │ │ -i(section(2,'1','sec:db-intro'),"Introduction",swi_man_packages('bdb4pl.html'),packages,4169). │ │ │ -i(section(3,'1.1','sec:db-about'),"About this manual",swi_man_packages('bdb4pl.html'),packages,5654). │ │ │ -i(section(2,'2','sec:bdb'),"library(bdb): Berkeley DB interface",swi_man_packages('bdb4pl.html'),packages,6159). │ │ │ -i(/(bdb_init,1),"Initialise a DB environment.",swi_man_packages('bdb4pl.html'),packages,8836). │ │ │ -i(/(bdb_init,2),"Initialise a DB environment.",swi_man_packages('bdb4pl.html'),packages,8836). │ │ │ -i(/(bdb_close_environment,1),"Close a database environment that was explicitly created using bdb_init/2.",swi_man_packages('bdb4pl.html'),packages,14337). │ │ │ -i(/(bdb_current_environment,1),"True when Environment is a currently known environment.",swi_man_packages('bdb4pl.html'),packages,14636). │ │ │ -i(/(bdb_environment_property,2),"True when Property is a property of Environment.",swi_man_packages('bdb4pl.html'),packages,14895). │ │ │ -i(/(bdb_open,4),"Open File holding a database.",swi_man_packages('bdb4pl.html'),packages,15614). │ │ │ -i(/(bdb_close,1),"Close BerkeleyDB database indicated by DB.",swi_man_packages('bdb4pl.html'),packages,20488). │ │ │ -i(/(bdb_put,3),"Add a new key-value pair to the database.",swi_man_packages('bdb4pl.html'),packages,20854). │ │ │ -i(/(bdb_del,3),"Delete the first matching key-value pair from the database.",swi_man_packages('bdb4pl.html'),packages,21192). │ │ │ -i(/(bdb_delall,3),"Delete all matching key-value pairs from the database.",swi_man_packages('bdb4pl.html'),packages,21706). │ │ │ -i(/(bdb_get,3),"Query the database.",swi_man_packages('bdb4pl.html'),packages,22009). │ │ │ -i(/(bdb_enum,3),"Enumerate the whole database, unifying the key-value pairs to Key and Value.",swi_man_packages('bdb4pl.html'),packages,22918). │ │ │ -i(/(bdb_getall,3),"Get all values associated with Key.",swi_man_packages('bdb4pl.html'),packages,23350). │ │ │ -i(/(bdb_current,1),"True when DB is a handle to a currently open database.",swi_man_packages('bdb4pl.html'),packages,23648). │ │ │ -i(/(bdb_closeall,0),"Close all currently open databases and environments.",swi_man_packages('bdb4pl.html'),packages,23873). │ │ │ -i(/(bdb_transaction,1),"Start a transaction, execute Goal and terminate the transaction.",swi_man_packages('bdb4pl.html'),packages,24197). │ │ │ -i(/(bdb_transaction,2),"Start a transaction, execute Goal and terminate the transaction.",swi_man_packages('bdb4pl.html'),packages,24197). │ │ │ -i(/(bdb_version,1),"True when Version identifies the database version.",swi_man_packages('bdb4pl.html'),packages,25928). │ │ │ -i(section(2,'3','sec:db-copyright'),"Copyright and license",swi_man_packages('bdb4pl.html'),packages,26314). │ │ │ -i(section(0,'0','packages/cql.html'),"Constraint Query Language A high level interface to SQL databases",swi_man_packages('cql.html'),packages,2817). │ │ │ -i(section(2,'1','sec:cql'),"library(cql/cql): CQL - Constraint Query Language",swi_man_packages('cql.html'),packages,13967). │ │ │ -i(section(3,'1.1','sec:cql-warnings'),"Warnings from CQL",swi_man_packages('cql.html'),packages,14576). │ │ │ -i(section(4,'1.1.1','sec:cql-compare-null'),"CQL Comparisons with NULL",swi_man_packages('cql.html'),packages,14747). │ │ │ -i(section(4,'1.1.2','sec:cql-and-setof'),"Avoid setof/3 and bagof/3 in CQL queries",swi_man_packages('cql.html'),packages,15516). │ │ │ -i(section(3,'1.2','sec:cql-null-outer-jpin'),"CQL: Retrieved nulls have special logic to handle outer joins",swi_man_packages('cql.html'),packages,16357). │ │ │ -i(section(3,'1.3','sec:cql-quickstart'),"CQL: Getting Started Quickly",swi_man_packages('cql.html'),packages,17347). │ │ │ -i(section(3,'1.4','sec:cql-debugging'),"Debugging CQL queries",swi_man_packages('cql.html'),packages,18587). │ │ │ -i(section(3,'1.5','sec:cql-prolog-vars'),"Prolog Variables in CQL queries",swi_man_packages('cql.html'),packages,20414). │ │ │ -i(section(3,'1.6','sec:cql-special-attrs'),"CQL Special Attributes",swi_man_packages('cql.html'),packages,21810). │ │ │ -i(section(3,'1.7','sec:cql-examples'),"CQL Examples",swi_man_packages('cql.html'),packages,22876). │ │ │ -i(section(4,'1.7.1','sec:cql-insert'),"CQL Simple INSERT",swi_man_packages('cql.html'),packages,23156). │ │ │ -i(section(4,'1.7.2','sec:cql-insert2'),"CQL Simple INSERT with retrieval of identity of the inserted",swi_man_packages('cql.html'),packages,23400). │ │ │ -i(section(4,'1.7.3','sec:cql-delete'),"CQL Simple DELETE",swi_man_packages('cql.html'),packages,23703). │ │ │ -i(section(4,'1.7.4','sec:cql-select'),"CQL Simple SELECT",swi_man_packages('cql.html'),packages,24451). │ │ │ -i(section(4,'1.7.5','sec:cql-update'),"CQL Simple UPDATE",swi_man_packages('cql.html'),packages,25293). │ │ │ -i(section(4,'1.7.6','sec:cql-where-arith'),"CQL WHERE with arithmetic comparison",swi_man_packages('cql.html'),packages,25809). │ │ │ -i(section(4,'1.7.7','sec:cql-inner-join'),"CQL Simple INNER JOIN",swi_man_packages('cql.html'),packages,26077). │ │ │ -i(section(4,'1.7.8','sec:cql-update-join-where'),"CQL Arithmetic UPDATE with an INNER JOIN and a WHERE restriction",swi_man_packages('cql.html'),packages,26562). │ │ │ -i(section(4,'1.7.9','sec:cql-not-exists'),"CQL: Confirm row does not exist",swi_man_packages('cql.html'),packages,27202). │ │ │ -i(section(4,'1.7.10','sec:cql-count'),"CQL: Aggregation - Count",swi_man_packages('cql.html'),packages,27457). │ │ │ -i(section(4,'1.7.11','sec:cql-sum'),"CQL: Aggregation - Sum",swi_man_packages('cql.html'),packages,27739). │ │ │ -i(section(4,'1.7.12','sec:cql-avg'),"CQL: Aggregation - Average",swi_man_packages('cql.html'),packages,28018). │ │ │ -i(section(4,'1.7.13','sec:cql-max'),"CQL: Maximum Value",swi_man_packages('cql.html'),packages,28319). │ │ │ -i(section(4,'1.7.14','sec:cql-min'),"CQL: Minimum Value",swi_man_packages('cql.html'),packages,28615). │ │ │ -i(section(4,'1.7.15','sec:cql-group-by'),"CQL: Aggregation requiring GROUP BY",swi_man_packages('cql.html'),packages,28911). │ │ │ -i(section(4,'1.7.16','sec:cql-agg-subquery'),"CQL: INNER JOIN with an aggregation sub-query where the sub-query is constrained by a shared variable from the main query",swi_man_packages('cql.html'),packages,29309). │ │ │ -i(section(4,'1.7.17','sec:cql-join-subquery'),"CQL: INNER JOIN in an aggregation sub-query",swi_man_packages('cql.html'),packages,30007). │ │ │ -i(section(4,'1.7.18','sec:cql-negation'),"CQL: Negation",swi_man_packages('cql.html'),packages,30366). │ │ │ -i(section(4,'1.7.19','sec:cql-exists'),"CQL: EXISTS",swi_man_packages('cql.html'),packages,30785). │ │ │ -i(section(4,'1.7.20','sec:cql-left-outer-join'),"CQL: Left Outer Join",swi_man_packages('cql.html'),packages,31378). │ │ │ -i(section(4,'1.7.21','sec:cql-list-restrictions'),"CQL: List-based Restrictions",swi_man_packages('cql.html'),packages,31652). │ │ │ -i(section(4,'1.7.22','sec:cql-list-compilation'),"CQL: Compile time in-list constraint",swi_man_packages('cql.html'),packages,32506). │ │ │ -i(section(4,'1.7.23','sec:cql-disjunction'),"CQL: Disjunction resulting in OR in WHERE clause",swi_man_packages('cql.html'),packages,33662). │ │ │ -i(section(4,'1.7.24','sec:cql-disj-diff-joins'),"CQL: Disjunction resulting in different joins (implemented as a SQL UNION)",swi_man_packages('cql.html'),packages,34112). │ │ │ -i(section(4,'1.7.25','sec:cql-disj-attrs'),"CQL: Disjunction resulting in different SELECT attributes (implemented as separate ODBC queries)",swi_man_packages('cql.html'),packages,34700). │ │ │ -i(section(4,'1.7.26','sec:cql-order-by'),"CQL: ORDER BY",swi_man_packages('cql.html'),packages,35187). │ │ │ -i(section(4,'1.7.27','sec:cql-distinct'),"CQL: DISTINCT",swi_man_packages('cql.html'),packages,35551). │ │ │ -i(section(4,'1.7.28','sec:cql-select-not-null'),"CQL: SELECT with NOT NULL restriction",swi_man_packages('cql.html'),packages,36197). │ │ │ -i(section(4,'1.7.29','sec:cql-top'),"CQL: First N",swi_man_packages('cql.html'),packages,36479). │ │ │ -i(section(4,'1.7.30','sec:cql-self-join'),"CQL: Self JOIN",swi_man_packages('cql.html'),packages,36818). │ │ │ -i(section(4,'1.7.31','sec:cql-no-null-compare'),"CQL: Removing null comparisions",swi_man_packages('cql.html'),packages,37093). │ │ │ -i(section(4,'1.7.32','sec:cql-three-table-join'),"CQL: Three table JOIN",swi_man_packages('cql.html'),packages,38485). │ │ │ -i(section(4,'1.7.33','sec:cql-three-nolock'),"CQL: Three table JOIN with NOLOCK locking hint",swi_man_packages('cql.html'),packages,38961). │ │ │ -i(section(4,'1.7.34','sec:cql-like'),"CQL: SELECT with LIKE",swi_man_packages('cql.html'),packages,39372). │ │ │ -i(section(4,'1.7.35','sec:cql-write'),"CQL: Writing exceptions directly to the database",swi_man_packages('cql.html'),packages,39704). │ │ │ -i(section(4,'1.7.36','sec:cql-top-n-parametric'),"CQL: TOP N is Parametric",swi_man_packages('cql.html'),packages,40458). │ │ │ -i(section(4,'1.7.37','sec:cql-compile-time-goal'),"CQL: Using compile_time_goal/1",swi_man_packages('cql.html'),packages,40961). │ │ │ -i(section(4,'1.7.38','sec:cql-on'),"CQL: ON",swi_man_packages('cql.html'),packages,42018). │ │ │ -i(section(4,'1.7.39','sec:cql-expr-in-where'),"CQL: Expressions In Where Restrictions",swi_man_packages('cql.html'),packages,42908). │ │ │ -i(section(4,'1.7.40','sec:cql-no-where'),"CQL: Explicitly avoid the \"No WHERE restriction\" message",swi_man_packages('cql.html'),packages,43271). │ │ │ -i(section(4,'1.7.41','sec:cql-having'),"CQL: HAVING",swi_man_packages('cql.html'),packages,44027). │ │ │ -i(section(4,'1.7.42','sec:cql-inst-update-value'),"CQL: INSERT and UPDATE value in-line formatting",swi_man_packages('cql.html'),packages,44837). │ │ │ -i(section(4,'1.7.43','sec:cql-neg-where'),"CQL: Negations in WHERE Clauses",swi_man_packages('cql.html'),packages,45395). │ │ │ -i(section(4,'1.7.44','sec:cql-gen-att-values'),"CQL: Predicate-generated Attribute Values",swi_man_packages('cql.html'),packages,45881). │ │ │ -i(section(4,'1.7.45','sec:cql-insert-from-select'),"CQL: INSERT from SELECT",swi_man_packages('cql.html'),packages,47413). │ │ │ -i(section(3,'1.8','sec:cql-hooks'),"CQL: Hooks",swi_man_packages('cql.html'),packages,48271). │ │ │ -i(section(4,'1.8.1','sec:cql-code-hooks'),"CQL: Generated Code Hooks",swi_man_packages('cql.html'),packages,48534). │ │ │ -i(section(4,'1.8.2','sec:cql-represent-hooks'),"CQL: Data Representation Hooks",swi_man_packages('cql.html'),packages,49327). │ │ │ -i(section(4,'1.8.3','sec:cql-appl-hooks'),"CQL: Application Integration",swi_man_packages('cql.html'),packages,50196). │ │ │ -i(section(4,'1.8.4','sec:cql-inline-hooks'),"CQL: Inline values",swi_man_packages('cql.html'),packages,52791). │ │ │ -i(section(4,'1.8.5','sec:cql-shema-hook'),"CQL: Schema",swi_man_packages('cql.html'),packages,53361). │ │ │ -i(section(4,'1.8.6','sec:cql-events-and-history'),"CQL: Event Processing and History",swi_man_packages('cql.html'),packages,55196). │ │ │ -i(section(4,'1.8.7','sec:cql-statistics-hooks'),"CQL: Statistical Hooks",swi_man_packages('cql.html'),packages,56364). │ │ │ -i(/(cql_set_module_default_schema,1),"Set the Schema for a module",swi_man_packages('cql.html'),packages,59009). │ │ │ -i(/(cql_get_module_default_schema,2),"",swi_man_packages('cql.html'),packages,59209). │ │ │ -i(/(cql_goal_expansion,3),"Expand at compile time if the first term is a list of unbound input variables Expand at runtime if the first term is compile_at_runtime",swi_man_packages('cql.html'),packages,59394). │ │ │ -i(/(cql_runtime,7),"",swi_man_packages('cql.html'),packages,59697). │ │ │ -i(/(cql_temporary_column_name,4),"",swi_man_packages('cql.html'),packages,59901). │ │ │ -i(/(cql_show,2),"Called when ?/1, ??/1, and ???/1 applied to CQL Goal goal term Mode minimal ; explicit ; full",swi_man_packages('cql.html'),packages,60087). │ │ │ -i(/(statistic_monitored_attribute,3),"",swi_man_packages('cql.html'),packages,60509). │ │ │ -i(/(dbms,2),"Determine the DBMS for a given Schema.",swi_man_packages('cql.html'),packages,60697). │ │ │ -i(/(odbc_data_type,4),"OdbcDataType must be a native SQL datatype, such as varchar(30) or decimal(10, 5) Can be autoconfigured.",swi_man_packages('cql.html'),packages,60936). │ │ │ -i(/(primary_key_column_name,3),"Can be autoconfigured.",swi_man_packages('cql.html'),packages,61294). │ │ │ -i(/(routine_return_type,3),"Can be autoconfigured",swi_man_packages('cql.html'),packages,61548). │ │ │ -i(/(database_constraint,4),"Constraint is one of: primary_key(ColumnNames:list)foreign_key(ForeignTableName:atom, ForeignColumnNames:list, ColumnNames:list)unique(ColumnNames:list)check(CheckClause) In theory this can be autoconfigured too, but I have not written the code for it yet",swi_man_packages('cql.html'),packages,61789). │ │ │ -i(/(attribute_domain,4),"",swi_man_packages('cql.html'),packages,62414). │ │ │ -i(/(database_identity,3),"",swi_man_packages('cql.html'),packages,62585). │ │ │ -i(/(database_key,5),"KeyColumnNames list of atom in database-supplied order KeyType identity ; ’primary key’ ; unique",swi_man_packages('cql.html'),packages,62765). │ │ │ -i(/(cql_event_notification_table,2),"",swi_man_packages('cql.html'),packages,63221). │ │ │ -i(/(cql_history_attribute,3),"",swi_man_packages('cql.html'),packages,63437). │ │ │ -i(/(sql_gripe_hook,3),"Called when something dubious is found by the SQL parser.",swi_man_packages('cql.html'),packages,63652). │ │ │ -i(/(cql_normalize_name,3),"Normalize a name which is potentially longer than the DBMS allows to a unique truncation",swi_man_packages('cql.html'),packages,63900). │ │ │ -i(/(register_database_connection_details,2),"This should be called once to register the database connection details.",swi_man_packages('cql.html'),packages,64163). │ │ │ -i(section(0,'0','packages/odbc.html'),"SWI-Prolog ODBC Interface",swi_man_packages('odbc.html'),packages,2777). │ │ │ -i(section(2,'1','sec:odbc-intro'),"Introduction",swi_man_packages('odbc.html'),packages,7000). │ │ │ -i(section(2,'2','sec:odbc'),"The ODBC layer",swi_man_packages('odbc.html'),packages,8144). │ │ │ -i(section(3,'2.1','sec:odbc-global-config'),"Global configuration",swi_man_packages('odbc.html'),packages,8289). │ │ │ -i(/(odbc_set_option,1),"Set global properties for the environment.",swi_man_packages('odbc.html'),packages,8488). │ │ │ -i(section(3,'2.2','sec:odbc-connections'),"Connection management",swi_man_packages('odbc.html'),packages,9061). │ │ │ -i(/(odbc_connect,3),"Create a new ODBC connection to data-source DSN and return a handle to this connection in Connection.",swi_man_packages('odbc.html'),packages,9423). │ │ │ -i(/(odbc_driver_connect,3),"Connects to a database using SQLDriverConnect().",swi_man_packages('odbc.html'),packages,13028). │ │ │ -i(/(odbc_disconnect,1),"Close the given Connection.",swi_man_packages('odbc.html'),packages,13847). │ │ │ -i(/(odbc_current_connection,2),"Enumerate the existing ODBC connections.",swi_man_packages('odbc.html'),packages,14149). │ │ │ -i(/(odbc_set_connection,2),"Set options on an existing connection.",swi_man_packages('odbc.html'),packages,14350). │ │ │ -i(/(odbc_get_connection,2),"Query for properties of the connection.",swi_man_packages('odbc.html'),packages,18601). │ │ │ -i(/(odbc_data_source,2),"Query the defined data sources.",swi_man_packages('odbc.html'),packages,20405). │ │ │ -i(section(3,'2.3','sec:odbc-query'),"Running SQL queries",swi_man_packages('odbc.html'),packages,21064). │ │ │ -i(section(4,'2.3.1','sec:odbc-one-time-query'),"One-time invocation",swi_man_packages('odbc.html'),packages,21725). │ │ │ -i(/(odbc_query,3),"Same as odbc_query/4 using [] for Options.",swi_man_packages('odbc.html'),packages,21929). │ │ │ -i(/(odbc_query,4),"Fire an SQL query on the database represented by Connection.",swi_man_packages('odbc.html'),packages,22230). │ │ │ -i(/(odbc_query,2),"As odbc_query/3, but used for SQL-statements that should not return result-rows (i.e.",swi_man_packages('odbc.html'),packages,28747). │ │ │ -i(section(4,'2.3.2','sec:odbc-param-query'),"Parameterised queries",swi_man_packages('odbc.html'),packages,29173). │ │ │ -i(/(odbc_prepare,4),"As odbc_prepare/5 using [] for Options.",swi_man_packages('odbc.html'),packages,29804). │ │ │ -i(/(odbc_prepare,5),"Create a statement from the given SQL (which may be a format specification as described with odbc_query/3) statement that normally has one or more parameter-indicators (?",swi_man_packages('odbc.html'),packages,30120). │ │ │ -i(/(odbc_execute,3),"Execute a statement prepared with odbc_prepare/4 with the given ParameterValues and return the rows or number of affected rows as odbc_query/4.",swi_man_packages('odbc.html'),packages,33707). │ │ │ -i(/(odbc_execute,2),"Like odbc_query/2, this predicate is meant to execute simple SQL statements without interest in the result.",swi_man_packages('odbc.html'),packages,35278). │ │ │ -i(/(odbc_cancel_thread,1),"If the thread ThreadId is currently blocked inside odbc_execute/3 then interrupt it.",swi_man_packages('odbc.html'),packages,35608). │ │ │ -i(/(odbc_free_statement,1),"Destroy a statement prepared with odbc_prepare/4.",swi_man_packages('odbc.html'),packages,36272). │ │ │ -i(section(4,'2.3.3','sec:sqlfetch'),"Fetching rows explicitely",swi_man_packages('odbc.html'),packages,36772). │ │ │ -i(/(odbc_fetch,3),"Fetch a row from the result-set of Statement.",swi_man_packages('odbc.html'),packages,37791). │ │ │ -i(/(odbc_close_statement,1),"Closes the given statement (without freeing it).",swi_man_packages('odbc.html'),packages,40588). │ │ │ -i(section(4,'2.3.4','sec:sqlresultsets'),"Fetching data from multiple result sets",swi_man_packages('odbc.html'),packages,40945). │ │ │ -i(/(odbc_next_result_set,1),"Succeeds if there is another result set, and positions the cursor at the first row of the new result set.",swi_man_packages('odbc.html'),packages,41763). │ │ │ -i(section(3,'2.4','sec:sqltrans'),"Transaction management",swi_man_packages('odbc.html'),packages,42818). │ │ │ -i(/(odbc_end_transaction,2),"End the currently open transaction if there is one.",swi_man_packages('odbc.html'),packages,43508). │ │ │ -i(section(3,'2.5','sec:odbc-db-dictionary'),"Accessing the database dictionary",swi_man_packages('odbc.html'),packages,43971). │ │ │ -i(/(odbc_current_table,2),"Return on backtracking the names of all tables in the database identified by the connection.",swi_man_packages('odbc.html'),packages,44432). │ │ │ -i(/(odbc_current_table,3),"Enumerate properties of the tables.",swi_man_packages('odbc.html'),packages,44678). │ │ │ -i(/(odbc_table_column,3),"On backtracking, enumerate all columns in all tables.",swi_man_packages('odbc.html'),packages,45288). │ │ │ -i(/(odbc_table_column,4),"Provides access to the properties of the table as defined by the ODBC call SQLColumns().",swi_man_packages('odbc.html'),packages,45501). │ │ │ -i(/(odbc_type,3),"Query the types supported by the data source.",swi_man_packages('odbc.html'),packages,46823). │ │ │ -i(/(odbc_table_primary_key,3),"True when Column is a primary key in Table.",swi_man_packages('odbc.html'),packages,49432). │ │ │ -i(/(odbc_table_foreign_key,5),"True when PkTable/PkCol FkTable/FkCol is a foreign keys column.",swi_man_packages('odbc.html'),packages,49667). │ │ │ -i(section(3,'2.6','sec:odbcinfo'),"Getting more information",swi_man_packages('odbc.html'),packages,49975). │ │ │ -i(/(odbc_statistics,1),"Get statistical data on the ODBC interface.",swi_man_packages('odbc.html'),packages,50158). │ │ │ -i(/(odbc_debug,1),"Set the verbosity-level to Level.",swi_man_packages('odbc.html'),packages,50996). │ │ │ -i(section(3,'2.7','sec:sqltypes'),"Representing SQL data in Prolog",swi_man_packages('odbc.html'),packages,51245). │ │ │ -i(section(3,'2.8','sec:odbc-reports'),"Errors and warnings",swi_man_packages('odbc.html'),packages,54648). │ │ │ -i(section(4,'2.8.1','sec:successwithinfo'),"ODBC messages:‘Success with info’",swi_man_packages('odbc.html'),packages,54975). │ │ │ -i(section(4,'2.8.2','sec:sqlerror'),"ODBC errors",swi_man_packages('odbc.html'),packages,55828). │ │ │ -i(section(3,'2.9','sec:odbc-implementations'),"ODBC implementations",swi_man_packages('odbc.html'),packages,56439). │ │ │ -i(section(4,'2.9.1','sec:odbc-unix'),"Using unixODBC",swi_man_packages('odbc.html'),packages,57120). │ │ │ -i(section(4,'2.9.2','sec:odbc-microsoft'),"Using Microsoft ODBC",swi_man_packages('odbc.html'),packages,57515). │ │ │ -i(section(3,'2.10','sec:odbc-issues'),"Remaining issues",swi_man_packages('odbc.html'),packages,57796). │ │ │ -i(section(2,'3','sec:odbc-acknowledgments'),"Acknowledgments",swi_man_packages('odbc.html'),packages,58491). │ │ │ -i(section(0,'0','packages/archive.html'),"SWI-Prolog binding to libarchive",swi_man_packages('archive.html'),packages,2784). │ │ │ -i(section(2,'1','sec:archive-motivation'),"Motivation",swi_man_packages('archive.html'),packages,4200). │ │ │ -i(section(2,'2','sec:archive'),"library(archive): Access several archive formats",swi_man_packages('archive.html'),packages,6621). │ │ │ -i(/(archive_open,3),"Wrapper around archive_open/4 that opens the archive in read mode.",swi_man_packages('archive.html'),packages,8339). │ │ │ -i(/(archive_open,4),"Open the archive in Data and unify Archive with a handle to the opened archive.",swi_man_packages('archive.html'),packages,8631). │ │ │ -i(/(archive_close,1),"Close the archive.",swi_man_packages('archive.html'),packages,12839). │ │ │ -i(/(archive_property,2),"True when Property is a property of the archive Handle.",swi_man_packages('archive.html'),packages,13725). │ │ │ -i(/(archive_next_header,2),"Forward to the next entry of the archive for which Name unifies with the pathname of the entry.",swi_man_packages('archive.html'),packages,14200). │ │ │ -i(/(archive_open_entry,2),"Open the current entry as a stream.",swi_man_packages('archive.html'),packages,15448). │ │ │ -i(/(archive_set_header_property,2),"Set Property of the current header.",swi_man_packages('archive.html'),packages,15860). │ │ │ -i(/(archive_header_property,2),"True when Property is a property of the current header.",swi_man_packages('archive.html'),packages,16910). │ │ │ -i(/(archive_extract,3),"Extract files from the given archive into Dir.",swi_man_packages('archive.html'),packages,18343). │ │ │ -i(/(archive_entries,2),"True when Paths is a list of pathnames appearing in Archive.",swi_man_packages('archive.html'),packages,19874). │ │ │ -i(/(archive_data_stream,3),"True when DataStream is a stream to a data object inside Archive.",swi_man_packages('archive.html'),packages,20135). │ │ │ -i(/(archive_create,3),"Convenience predicate to create an archive in OutputFile with data from a list of InputFiles and the given Options.",swi_man_packages('archive.html'),packages,21878). │ │ │ -i(/(archive_foldl,4),"Operates like foldl/4 but for the entries in the archive.",swi_man_packages('archive.html'),packages,23119). │ │ │ -i(section(2,'3','sec:archive-status'),"Status",swi_man_packages('archive.html'),packages,24053). │ │ │ -i(section(0,'0','packages/zlib.html'),"SWI-Prolog binding to zlib",swi_man_packages('zlib.html'),packages,2778). │ │ │ -i(section(2,'1','sec:zlib'),"Zlib and compression",swi_man_packages('zlib.html'),packages,3948). │ │ │ -i(section(2,'2','sec:zlib-predicates'),"Predicate reference",swi_man_packages('zlib.html'),packages,6333). │ │ │ -i(/(zopen,3),"Creates ZStream, providing compressed access to Stream.",swi_man_packages('zlib.html'),packages,6521). │ │ │ -i(/(gzopen,3),"Same as gzopen(File, Mode, Stream,[]).",swi_man_packages('zlib.html'),packages,8986). │ │ │ -i(/(gzopen,4),"Open gzip compatible File for reading or writing.",swi_man_packages('zlib.html'),packages,9168). │ │ │ -i(section(2,'3','sec:zlib-streams'),"Interaction with Prolog stream predicates",swi_man_packages('zlib.html'),packages,9828). │ │ │ -i(section(0,'0','packages/utf8proc.html'),"SWI-Prolog Unicode library",swi_man_packages('utf8proc.html'),packages,2778). │ │ │ -i(section(2,'1','sec:unicode'),"library(unicode): Unicode string handling",swi_man_packages('utf8proc.html'),packages,3722). │ │ │ -i(/(unicode_map,3),"Perform unicode normalization operations.",swi_man_packages('utf8proc.html'),packages,6088). │ │ │ -i(/(unicode_nfd,2),"Characters are decomposed by canonical equivalence.",swi_man_packages('utf8proc.html'),packages,8748). │ │ │ -i(/(unicode_nfc,2),"Characters are decomposed and then recomposed by canonical equivalence.",swi_man_packages('utf8proc.html'),packages,8963). │ │ │ -i(/(unicode_nfkd,2),"Characters are decomposed by compatibility equivalence.",swi_man_packages('utf8proc.html'),packages,9510). │ │ │ -i(/(unicode_nfkc,2),"Characters are decomposed by compatibility equivalence, then recomposed by canonical equivalence.",swi_man_packages('utf8proc.html'),packages,9731). │ │ │ -i(/(unicode_property,2),"True if Property is defined for Char.",swi_man_packages('utf8proc.html'),packages,9995). │ │ │ -i(section(2,'2','sec:utf8proc-license'),"License",swi_man_packages('utf8proc.html'),packages,11768). │ │ │ -i(section(0,'0','packages/table.html'),"Managing external tables for SWI-Prolog",swi_man_packages('table.html'),packages,2790). │ │ │ -i(section(2,'1','sec:table-intro'),"Introduction",swi_man_packages('table.html'),packages,5803). │ │ │ -i(section(2,'2','sec:table-external'),"Managing external tables",swi_man_packages('table.html'),packages,6849). │ │ │ -i(section(3,'2.1','sec:table-create-destroy'),"Creating and destroying tables",swi_man_packages('table.html'),packages,7024). │ │ │ -i(/(new_table,4),"Create a description of a new table, stored in File.",swi_man_packages('table.html'),packages,7357). │ │ │ -i(/(open_table,1),"Open the table.",swi_man_packages('table.html'),packages,13269). │ │ │ -i(/(close_table,1),"Close the file and other system resources, but do not remove the description of the table, so it can be re-opened later.",swi_man_packages('table.html'),packages,13743). │ │ │ -i(/(free_table,1),"Close and remove the handle.",swi_man_packages('table.html'),packages,13990). │ │ │ -i(section(3,'2.2','sec:table-access'),"Accessing a table",swi_man_packages('table.html'),packages,14271). │ │ │ -i(section(4,'2.2.1','sec:table-find-record-location'),"Finding record locations in a table",swi_man_packages('table.html'),packages,14508). │ │ │ -i(/(get_table_attribute,3),"Fetch attributes of the table.",swi_man_packages('table.html'),packages,14940). │ │ │ -i(/(table_window,3),"If only part of the file represents the table, this call may be used to define a window on the file.",swi_man_packages('table.html'),packages,16235). │ │ │ -i(/(table_start_of_record,4),"Enumerates (on backtracking) the start of records in the table in the region [From, To).",swi_man_packages('table.html'),packages,16676). │ │ │ -i(/(table_previous_record,3),"If Here is the start of a record, find the start of the record before it.",swi_man_packages('table.html'),packages,17095). │ │ │ -i(section(4,'2.2.2','sec:table-read-record'),"Reading records",swi_man_packages('table.html'),packages,17464). │ │ │ -i(/(read_table_record,4),"Read a record from the table.",swi_man_packages('table.html'),packages,17992). │ │ │ -i(/(read_table_fields,4),"As read_table_record/4, but Fields is a list of terms +Name(-Value), and the Values will be unified with the values of the specified field.",swi_man_packages('table.html'),packages,18853). │ │ │ -i(/(read_table_record_data,4),"Similar to read_table_record/4, but unifies record with a Prolog string containing the data of the record unparsed.",swi_man_packages('table.html'),packages,19284). │ │ │ -i(section(4,'2.2.3','sec:table-search'),"Searching the table",swi_man_packages('table.html'),packages,19752). │ │ │ -i(/(in_table,3),"Searches the table for records matching Fields.",swi_man_packages('table.html'),packages,19942). │ │ │ -i(section(4,'2.2.4','sec:table-misc'),"Miscellaneous",swi_man_packages('table.html'),packages,23962). │ │ │ -i(/(table_version,2),"Unify Version with an atom identifying the version of this package, and CompileDate with the date this package was compiled.",swi_man_packages('table.html'),packages,24141). │ │ │ -i(section(2,'3','sec:table-ordering'),"Flexible ordering and equivalence based on character table",swi_man_packages('table.html'),packages,24446). │ │ │ -i(/(new_order_table,2),"Create a new, or replace the order-table with the given name (an atom).",swi_man_packages('table.html'),packages,26393). │ │ │ -i(/(order_table_mapping,3),"Read the current mapping.",swi_man_packages('table.html'),packages,27640). │ │ │ -i(/(compare_strings,4),"Compare two strings using the named Table.",swi_man_packages('table.html'),packages,27936). │ │ │ -i(/(prefix_string,3),"Succeeds if Prefix is a prefix of String using the named Table.",swi_man_packages('table.html'),packages,28307). │ │ │ -i(/(prefix_string,4),"Succeeds if Prefix is a prefix of String using the named Table, and Rest is unified with the remainder of String that is not matched.",swi_man_packages('table.html'),packages,28553). │ │ │ -i(/(sub_string,3),"Succeeds if Sub is a substring of String using the named Table.",swi_man_packages('table.html'),packages,29123). │ │ │ -i(section(2,'4','sec:example'),"Example: accessing the Unix passwd file",swi_man_packages('table.html'),packages,29369). │ │ │ +i(section(0,'0','packages/rdf2pl.html'),"SWI-Prolog RDF parser",swi_man_packages('rdf2pl.html'),packages,2772). │ │ │ +i(section(2,'1','sec:rdfxml-intro'),"Introduction",swi_man_packages('rdf2pl.html'),packages,5024). │ │ │ +i(section(2,'2','sec:rdfxml-parser'),"Parsing RDF in Prolog",swi_man_packages('rdf2pl.html'),packages,6696). │ │ │ +i(section(2,'3','sec:rdfxml-predicates'),"Predicates for parsing RDF/XML",swi_man_packages('rdf2pl.html'),packages,9572). │ │ │ +i(/(load_rdf,2),"Same as load_rdf(File, Triples,[]).",swi_man_packages('rdf2pl.html'),packages,10337). │ │ │ +i(/(load_rdf,3),"Read the RDF-XML file File and return a list of Triples.",swi_man_packages('rdf2pl.html'),packages,10514). │ │ │ +i(section(3,'3.1','sec:rdfobject'),"RDF Object representation",swi_man_packages('rdf2pl.html'),packages,14470). │ │ │ +i(section(3,'3.2','sec:rdfxml-name-spaces'),"Name spaces",swi_man_packages('rdf2pl.html'),packages,15919). │ │ │ +i(section(3,'3.3','sec:rdfxml-low-level'),"Low-level access",swi_man_packages('rdf2pl.html'),packages,17043). │ │ │ +i(/(xml_to_rdf,3),"Process an XML term produced by load_structure/3 using the dialect(xmlns) output option.",swi_man_packages('rdf2pl.html'),packages,17882). │ │ │ +i(/(process_rdf,3),"Exploits the call-back interface of sgml2pl, calling OnTriples(Triples, File:Line) with the list of triples resulting from a single top level RDF object for each RDF element in the input as well as the source-location where the description started.",swi_man_packages('rdf2pl.html'),packages,18352). │ │ │ +i(section(2,'4','sec:rdfxml-write'),"Writing RDF graphs",swi_man_packages('rdf2pl.html'),packages,20128). │ │ │ +i(/(rdf_write_xml,2),"Write an RDF/XML document to Stream from the list of Triples.",swi_man_packages('rdf2pl.html'),packages,21112). │ │ │ +i(section(2,'5','sec:rdfxml-tests'),"Testing the RDF translator",swi_man_packages('rdf2pl.html'),packages,21965). │ │ │ +i(/(suite,1),"Run test N using the file suite/tN.rdf and display the RDF source, the intermediate Prolog representation and the resulting triples.",swi_man_packages('rdf2pl.html'),packages,22489). │ │ │ +i(/(passed,1),"Process suite/tN.rdf and store the resulting triples in suite/ok/tN.pl for later validation by test/0.",swi_man_packages('rdf2pl.html'),packages,22757). │ │ │ +i(/(test,0),"Run all tests and classify the result.",swi_man_packages('rdf2pl.html'),packages,23056). │ │ │ +i(section(2,'6','sec:rdfxml-metrics'),"Metrics",swi_man_packages('rdf2pl.html'),packages,23197). │ │ │ +i(section(0,'0','packages/pl2cpp.html'),"A C++ interface to SWI-Prolog",swi_man_packages('pl2cpp.html'),packages,2781). │ │ │ +i(section(1,'1','sec:cpp2'),"A C++ interface to SWI-Prolog",swi_man_packages('pl2cpp.html'),packages,16239). │ │ │ +i(section(2,'1.1','sec:summary-cpp2-changes'),"Summary of changes between Versions 1 and 2",swi_man_packages('pl2cpp.html'),packages,16399). │ │ │ +i(section(2,'1.2','sec:cpp2-foreign-example'),"A simple example",swi_man_packages('pl2cpp.html'),packages,26770). │ │ │ +i(section(2,'1.3','sec:cpp2-sample-code'),"Sample code",swi_man_packages('pl2cpp.html'),packages,27793). │ │ │ +i(section(2,'1.4','sec:cpp2-intro'),"Introduction",swi_man_packages('pl2cpp.html'),packages,30665). │ │ │ +i(section(3,'1.4.1','sec:cpp2-acknowledgements'),"Acknowledgements",swi_man_packages('pl2cpp.html'),packages,32821). │ │ │ +i(section(2,'1.5','sec:cpp2-life-of-a-predicate'),"The life of a PREDICATE",swi_man_packages('pl2cpp.html'),packages,33273). │ │ │ +i(section(2,'1.6','sec:cpp2-overview'),"Overview",swi_man_packages('pl2cpp.html'),packages,37110). │ │ │ +i(section(3,'1.6.1','sec:cpp2-philosophy'),"Design philosophy of the classes",swi_man_packages('pl2cpp.html'),packages,38321). │ │ │ +i(section(3,'1.6.2','sec:cpp2-files-summary'),"Summary of files",swi_man_packages('pl2cpp.html'),packages,44674). │ │ │ +i(section(3,'1.6.3','sec:cpp2-class-summary'),"Summary of classes",swi_man_packages('pl2cpp.html'),packages,46257). │ │ │ +i(section(3,'1.6.4','sec:cpp2-wrapper-functions'),"Wrapper functions",swi_man_packages('pl2cpp.html'),packages,52092). │ │ │ +i(section(3,'1.6.5','sec:cpp2-naming'),"Naming conventions, utility functions and methods",swi_man_packages('pl2cpp.html'),packages,54556). │ │ │ +i(section(3,'1.6.6','sec:cpp2-plterm'),"PlTerm class",swi_man_packages('pl2cpp.html'),packages,60813). │ │ │ +i(section(3,'1.6.7','sec:cpp-plterm-scoped'),"PlTermScoped class (experimental)",swi_man_packages('pl2cpp.html'),packages,113016). │ │ │ +i(section(3,'1.6.8','sec:cpp2-blobs'),"Blobs",swi_man_packages('pl2cpp.html'),packages,121188). │ │ │ +i(section(4,'1.6.8.1','sec:cpp2-c++-features'),"A review of C++ features used by the API",swi_man_packages('pl2cpp.html'),packages,127546). │ │ │ +i(section(4,'1.6.8.2','sec:cpp2-blobs-howto'),"How to define a blob using C++",swi_man_packages('pl2cpp.html'),packages,137335). │ │ │ +i(section(4,'1.6.8.3','sec:cpp2-blobs-life'),"The life of a PlBlob",swi_man_packages('pl2cpp.html'),packages,138137). │ │ │ +i(section(4,'1.6.8.4','sec:cpp2-blobs-exceptions'),"C++ exceptions and blobs",swi_man_packages('pl2cpp.html'),packages,141740). │ │ │ +i(section(4,'1.6.8.5','sec:cpp2-blobs-sample-code'),"Sample PlBlob code (connection to database)",swi_man_packages('pl2cpp.html'),packages,145351). │ │ │ +i(section(4,'1.6.8.6','sec:cpp2-blobs-sample-code-discussion'),"Discussion of the sample PlBlob code",swi_man_packages('pl2cpp.html'),packages,148901). │ │ │ +i(section(4,'1.6.8.7','sec:cpp2-blobs-sample-code-pointer'),"Sample PlBlob code (wrapping a pointer)",swi_man_packages('pl2cpp.html'),packages,158267). │ │ │ +i(section(4,'1.6.8.8','sec:cpp2-blobs-sample-code-pointer-discussion'),"Discussion of the sample PlBlob code (wrapping a pointer)",swi_man_packages('pl2cpp.html'),packages,162190). │ │ │ +i(section(4,'1.6.8.9','sec:cpp2-atom-blob'),"Identifying blobs by atoms",swi_man_packages('pl2cpp.html'),packages,165241). │ │ │ +i(section(3,'1.6.9','sec:cpp2-limitations'),"Limitations of the interface",swi_man_packages('pl2cpp.html'),packages,165767). │ │ │ +i(section(4,'1.6.9.1','sec:cpp2-strings'),"Strings",swi_man_packages('pl2cpp.html'),packages,166002). │ │ │ +i(section(4,'1.6.9.2','sec:cpp2-stream-io'),"Stream I/O",swi_man_packages('pl2cpp.html'),packages,169192). │ │ │ +i(section(4,'1.6.9.3','sec:cpp2-limitations-handles'),"Object handles",swi_man_packages('pl2cpp.html'),packages,174070). │ │ │ +i(section(3,'1.6.10','sec:cpp2-plld'),"Linking embedded applications using swipl-ld",swi_man_packages('pl2cpp.html'),packages,175690). │ │ │ +i(section(2,'1.7','sec:cpp2-examples'),"Examples",swi_man_packages('pl2cpp.html'),packages,176783). │ │ │ +i(section(3,'1.7.1','sec:cpp2-hello-world'),"Hello(World)",swi_man_packages('pl2cpp.html'),packages,177089). │ │ │ +i(section(3,'1.7.2','sec:cpp2-ex-adding-numbers'),"Adding numbers",swi_man_packages('pl2cpp.html'),packages,178535). │ │ │ +i(section(3,'1.7.3','sec:cpp2-ex-average'),"Average of solutions - calling a Prolog goal",swi_man_packages('pl2cpp.html'),packages,180112). │ │ │ +i(section(2,'1.8','sec:cpp2-rationale'),"Rationale for changes from version 1",swi_man_packages('pl2cpp.html'),packages,181672). │ │ │ +i(section(3,'1.8.1','sec:cpp2-rationale-ctors'),"Implicit constructors and conversion operators",swi_man_packages('pl2cpp.html'),packages,181863). │ │ │ +i(section(3,'1.8.2','sec:cpp2-rationale-strings'),"Strings",swi_man_packages('pl2cpp.html'),packages,185460). │ │ │ +i(section(2,'1.9','sec:cpp2-porting-1-2'),"Porting from version 1 to version 2",swi_man_packages('pl2cpp.html'),packages,187120). │ │ │ +i(section(2,'1.10','sec:cpp2-plfail'),"The class PlFail",swi_man_packages('pl2cpp.html'),packages,190980). │ │ │ +i(section(3,'1.10.1','sec:cpp2-plcheck'),"PlCheckFail(), and PlEx() convenience functions",swi_man_packages('pl2cpp.html'),packages,192630). │ │ │ +i(section(2,'1.11','sec:cpp2-plterm-get-put-unify'),"Overview of accessing and changing values",swi_man_packages('pl2cpp.html'),packages,194746). │ │ │ +i(section(3,'1.11.1','sec:cpp2-plterm-casting'),"Converting PlTerm to native C and C++ types",swi_man_packages('pl2cpp.html'),packages,196798). │ │ │ +i(section(3,'1.11.2','sec:cpp2-plterm-unification'),"Unification",swi_man_packages('pl2cpp.html'),packages,202311). │ │ │ +i(section(3,'1.11.3','sec:cpp2-plterm-comparison'),"Comparison",swi_man_packages('pl2cpp.html'),packages,205973). │ │ │ +i(section(3,'1.11.4','sec:cpp2-plterm-compound'),"Analysing compound terms",swi_man_packages('pl2cpp.html'),packages,210060). │ │ │ +i(section(3,'1.11.5','sec:cpp2-plterm-misc'),"Miscellaneous",swi_man_packages('pl2cpp.html'),packages,212104). │ │ │ +i(section(3,'1.11.6','sec:cpp2-plstring'),"The class PlTerm_string",swi_man_packages('pl2cpp.html'),packages,214917). │ │ │ +i(section(3,'1.11.7','sec:cpp2-codelist'),"The class PlCodeList",swi_man_packages('pl2cpp.html'),packages,216269). │ │ │ +i(section(3,'1.11.8','sec:cpp2-plcharlist'),"The class PlCharList",swi_man_packages('pl2cpp.html'),packages,216730). │ │ │ +i(section(3,'1.11.9','sec:cpp2-plcompound'),"The class PlCompound",swi_man_packages('pl2cpp.html'),packages,217335). │ │ │ +i(section(3,'1.11.10','sec:cpp2-pltail'),"The class PlTerm_tail",swi_man_packages('pl2cpp.html'),packages,218839). │ │ │ +i(section(3,'1.11.11','sec:cpp2-pltermv'),"The class PlTermv",swi_man_packages('pl2cpp.html'),packages,221852). │ │ │ +i(section(3,'1.11.12','sec:cpp2-prolog-constants'),"The class PlAtom - Supporting Prolog constants",swi_man_packages('pl2cpp.html'),packages,224005). │ │ │ +i(section(4,'1.11.12.1','sec:cpp2-direct-commparison-to-char-star'),"Direct comparision to char *",swi_man_packages('pl2cpp.html'),packages,224629). │ │ │ +i(section(4,'1.11.12.2','sec:cpp2-dirplatom'),"Direct comparision to PlAtom",swi_man_packages('pl2cpp.html'),packages,225267). │ │ │ +i(section(4,'1.11.12.3','sec:cpp2-extraction-comparison-atoms'),"Extraction of the atom and comparison to PlAtom",swi_man_packages('pl2cpp.html'),packages,225852). │ │ │ +i(section(4,'1.11.12.4','sec:cpp2-extraction-comparison-char-star'),"Extraction of the atom and comparison to char *",swi_man_packages('pl2cpp.html'),packages,226441). │ │ │ +i(section(3,'1.11.13','sec:cpp2-plrecord'),"Classes for the recorded database: PlRecord and PlRecordExternalCopy",swi_man_packages('pl2cpp.html'),packages,232286). │ │ │ +i(section(2,'1.12','sec:cpp2-plregister'),"The class PlRegister",swi_man_packages('pl2cpp.html'),packages,238301). │ │ │ +i(section(2,'1.13','sec:cpp2-plquery'),"The class PlQuery",swi_man_packages('pl2cpp.html'),packages,240155). │ │ │ +i(section(3,'1.13.1','sec:cpp2-plframe'),"The class PlFrame - Unification and foreign frames",swi_man_packages('pl2cpp.html'),packages,244480). │ │ │ +i(section(2,'1.14','sec:cpp2-predicate-macro'),"The PREDICATE and PREDICATE_NONDET macros",swi_man_packages('pl2cpp.html'),packages,251721). │ │ │ +i(section(3,'1.14.1','sec:cpp2-predicate-macro-variations'),"Variations of the PREDICATE macro",swi_man_packages('pl2cpp.html'),packages,253065). │ │ │ +i(section(3,'1.14.2','sec:cpp2-nondet'),"Non-deterministic predicates",swi_man_packages('pl2cpp.html'),packages,255297). │ │ │ +i(section(3,'1.14.3','sec:cpp2-module'),"Controlling the Prolog destination module",swi_man_packages('pl2cpp.html'),packages,258254). │ │ │ +i(section(2,'1.15','sec:cpp2-exceptions'),"Exceptions",swi_man_packages('pl2cpp.html'),packages,259287). │ │ │ +i(section(3,'1.15.1','sec:cpp2-plexception'),"The class PlException",swi_man_packages('pl2cpp.html'),packages,261499). │ │ │ +i(section(4,'1.15.1.1','sec:cpp2-pl-type-error'),"The function PlTypeError",swi_man_packages('pl2cpp.html'),packages,262811). │ │ │ +i(section(4,'1.15.1.2','sec:cpp2-pl-domain-error'),"The function PlDomainError",swi_man_packages('pl2cpp.html'),packages,263426). │ │ │ +i(section(2,'1.16','sec:cpp2-embedding'),"Embedded applications",swi_man_packages('pl2cpp.html'),packages,264414). │ │ │ +i(section(2,'1.17','sec:cpp2-considerations'),"Considerations",swi_man_packages('pl2cpp.html'),packages,266343). │ │ │ +i(section(3,'1.17.1','sec:cpp2-vs-c'),"The C++ versus the C interface",swi_man_packages('pl2cpp.html'),packages,266523). │ │ │ +i(section(3,'1.17.2','sec:cpp2-exceptions-notes'),"Notes on exceptions",swi_man_packages('pl2cpp.html'),packages,267697). │ │ │ +i(section(3,'1.17.3','sec:cpp2-global'),"Global terms, atoms, and functors",swi_man_packages('pl2cpp.html'),packages,270386). │ │ │ +i(section(3,'1.17.4','sec:cpp2-atom-map'),"Atom map utilities",swi_man_packages('pl2cpp.html'),packages,272169). │ │ │ +i(section(3,'1.17.5','sec:cpp2-linking'),"Static linking and embedding",swi_man_packages('pl2cpp.html'),packages,275386). │ │ │ +i(section(3,'1.17.6','sec:cpp2-status'),"Status and compiler versions",swi_man_packages('pl2cpp.html'),packages,275818). │ │ │ +i(section(2,'1.18','sec:cpp2-conclusions'),"Conclusions",swi_man_packages('pl2cpp.html'),packages,278103). │ │ │ i(section(0,'0','packages/sweep.html'),"sweep: SWI-Prolog Embedded in Emacs",swi_man_packages('sweep.html'),packages,2787). │ │ │ i(section(2,'1','sec:sweep-installation'),"Installation",swi_man_packages('sweep.html'),packages,3699). │ │ │ i(section(2,'2','sec:sweep-getting-started'),"Getting started",swi_man_packages('sweep.html'),packages,4416). │ │ │ i(section(0,'0','packages/sgml.html'),"SWI-Prolog SGML/XML parser",swi_man_packages('sgml.html'),packages,2778). │ │ │ i(section(2,'1','sec:sgml-intro'),"Introduction",swi_man_packages('sgml.html'),packages,7333). │ │ │ i(section(2,'2','sec:sgml-bluffers-guide'),"Bluffer's Guide",swi_man_packages('sgml.html'),packages,8576). │ │ │ i(section(3,'2.1','sec:sgml-goodies'),"‘Goodies’Predicates",swi_man_packages('sgml.html'),packages,11259). │ │ │ @@ -3256,14 +2907,81 @@ │ │ │ i(section(3,'9.3','sec:xsd-lexical-form'),"XSD lexical forms",swi_man_packages('sgml.html'),packages,100873). │ │ │ i(/(xsd_number_string,2),"This predicate is similar to number_string/2, but accepts floating point numbers according to the XML syntax rather than the Prolog syntax.",swi_man_packages('sgml.html'),packages,101290). │ │ │ i(/(xsd_time_string,3),"Serialize and deserialize the XSD date and time formats.",swi_man_packages('sgml.html'),packages,102304). │ │ │ i(section(3,'9.4','sec:c14n2'),"library(c14n2): C14n2 canonical XML documents",swi_man_packages('sgml.html'),packages,105140). │ │ │ i(/(xml_write_canonical,3),"Write an XML DOM using the canonical conventions as defined by C14n2.",swi_man_packages('sgml.html'),packages,105657). │ │ │ i(section(2,'10','sec:sgml-unsupported'),"Unsupported SGML features",swi_man_packages('sgml.html'),packages,106244). │ │ │ i(section(2,'11','sec:sgml-acknowledgements'),"Acknowledgements",swi_man_packages('sgml.html'),packages,108732). │ │ │ +i(section(0,'0','packages/jpl.html'),"JPL: A bidirectional Prolog/Java interface",swi_man_packages('jpl.html'),packages,2794). │ │ │ +i(section(3,'1','sec:jpl'),"library(jpl): A Java interface for SWI Prolog 7.x",swi_man_packages('jpl.html'),packages,3486). │ │ │ +i(/(jpl_new,3),"X can be: an atomic classname, e.g.",swi_man_packages('jpl.html'),packages,3906). │ │ │ +i(/(jpl_call,4),"X should be either an object reference, e.g.",swi_man_packages('jpl.html'),packages,5604). │ │ │ +i(/(jpl_get,3),"X can be a classnameor a descriptoror an (object or array) type (for static fields)or a non-array object (for static and non-static fields)or an array (for’length’pseudo field, or indexed element retrieval) Fspec can be an atomic field nameor an integral array index (to get an element from an array)or a pair I-J of integers (to get a subrange of an array).",swi_man_packages('jpl.html'),packages,6979). │ │ │ +i(/(jpl_set,3),"sets the Fspec-th field of (class or object) X to value V iff it is assignable X can be a class instance (for static or non-static fields)or an array (for indexed element or subrange assignment)or a classname, or a class(_,_) or array(_) type (for static fields)but not a String (no fields to retrieve) Fspec can be an atomic field name (overloading through shadowing has yet to be handled properly)or an array index I (X must be an array object: V is assigned to X[I])or a pair I-J of integers (X must be an array object, V must be a list of values: successive members of V are assigned to X[I..J]) V must be a suitable value or object.",swi_man_packages('jpl.html'),packages,7987). │ │ │ +i(/(jpl_get_default_jvm_opts,1),"Returns (as a list of atoms) the options which will be passed to the JVM when it is initialised, e.g.",swi_man_packages('jpl.html'),packages,9065). │ │ │ +i(/(jpl_set_default_jvm_opts,1),"Replaces the default JVM initialisation options with those supplied.",swi_man_packages('jpl.html'),packages,9385). │ │ │ +i(/(jpl_get_actual_jvm_opts,1),"Returns (as a list of atoms) the options with which the JVM was initialised.",swi_man_packages('jpl.html'),packages,9649). │ │ │ +i(/(jpl_pl_lib_version,1),"Version is the fully qualified version identifier of the in-use Prolog component (jpl.pl) of JPL.",swi_man_packages('jpl.html'),packages,10018). │ │ │ +i(/(jpl_c_lib_version,1),"Version is the fully qualified version identifier of the in-use C component (jpl.c) of JPL.",swi_man_packages('jpl.html'),packages,10464). │ │ │ +i(/(jpl_class_to_classname,2),"Class is a reference to a class object.",swi_man_packages('jpl.html'),packages,10913). │ │ │ +i(/(jpl_class_to_type,2),"The Class is a reference to a (Java Universe) instance of java.lang.Class.",swi_man_packages('jpl.html'),packages,11618). │ │ │ +i(/(jpl_classname_to_class,2),"EntityName is the entity name to be mapped to a class reference.",swi_man_packages('jpl.html'),packages,12240). │ │ │ +i(/(jpl_entityname_to_type,2),"EntityName is the entity name (an atom) denoting a Java type, to be mapped to a JPL type.",swi_man_packages('jpl.html'),packages,12643). │ │ │ +i(/(jpl_type_to_entityname,2),"This is the converse of jpl_entityname_to_type/2",swi_man_packages('jpl.html'),packages,14220). │ │ │ +i(/(jpl_classname_to_type,2),"This is a wrapper around jpl_entityname_to_type/2 to keep the old exported predicate alive.",swi_man_packages('jpl.html'),packages,14495). │ │ │ +i(/(jpl_type_to_classname,2),"This is a wrapper around jpl_type_to_entityname/2 to keep the old exported predicate alive.",swi_man_packages('jpl.html'),packages,15034). │ │ │ +i(/(jpl_datum_to_type,2),"Datum must be a JPL representation of an instance of one (or more) Java types; Type is the unique most specialised type of which Datum denotes an instance; NB 3 is an instance of byte, char, short, int and long, of which byte and char are the joint, overlapping most specialised types, so this relates 3 to the pseudo subtype’char_byte’; See alsojpl_type_to_preferred_concrete_type/2 for converting inferred types to instantiable types",swi_man_packages('jpl.html'),packages,15573). │ │ │ +i(/(jpl_object_to_class,2),"fails silently if Object is not a valid reference to a Java object Class is a (canonical) reference to the (canonical) class object which represents the class of Object NB what's the point of caching the type if we don't look there first?",swi_man_packages('jpl.html'),packages,16312). │ │ │ +i(/(jpl_object_to_type,2),"Object must be a proper JPL reference to a Java object (i.e.",swi_man_packages('jpl.html'),packages,16754). │ │ │ +i(/(jpl_primitive_type,1),"Type is an atomic JPL representation of one of Java's primitive types.",swi_man_packages('jpl.html'),packages,17094). │ │ │ +i(/(jpl_ref_to_type,2),"Ref must be a proper JPL reference (to an object, null or void).",swi_man_packages('jpl.html'),packages,17539). │ │ │ +i(/(jpl_type_to_class,2),"Type is the JPL type, a ground term designating a class or an array type.",swi_man_packages('jpl.html'),packages,17797). │ │ │ +i(/(jpl_is_class,1),"True if Term is a JPL reference to an instance of java.lang.Class.",swi_man_packages('jpl.html'),packages,18171). │ │ │ +i(/(jpl_is_false,1),"True if Term is @(false), the JPL representation of the Java boolean value’false’.",swi_man_packages('jpl.html'),packages,18387). │ │ │ +i(/(jpl_is_null,1),"True if Term is @(null), the JPL representation of Java's’null’reference.",swi_man_packages('jpl.html'),packages,18632). │ │ │ +i(/(jpl_is_object,1),"True if Term is a well-formed JPL object reference.",swi_man_packages('jpl.html'),packages,18866). │ │ │ +i(/(jpl_is_object_type,1),"True if Term is an object (class or array) type, not e.g.",swi_man_packages('jpl.html'),packages,19119). │ │ │ +i(/(jpl_is_ref,1),"True if Term is a well-formed JPL reference, either to a Java object or to Java's notional but important’null’non-object.",swi_man_packages('jpl.html'),packages,19353). │ │ │ +i(/(jpl_is_true,1),"True if Term is @(true), the JPL representation of the Java boolean value’true’.",swi_man_packages('jpl.html'),packages,19620). │ │ │ +i(/(jpl_is_type,1),"True if Term is a well-formed JPL type structure.",swi_man_packages('jpl.html'),packages,19861). │ │ │ +i(/(jpl_is_void,1),"True if Term is @(void), the JPL representation of the pseudo Java value’void’(which is returned by jpl_call/4 when invoked on void methods).",swi_man_packages('jpl.html'),packages,20045). │ │ │ +i(/(jpl_false,1),"X is @(false), the JPL representation of the Java boolean value’false’.",swi_man_packages('jpl.html'),packages,20479). │ │ │ +i(/(jpl_null,1),"X is @(null), the JPL representation of Java's’null’reference.",swi_man_packages('jpl.html'),packages,20875). │ │ │ +i(/(jpl_true,1),"X is @(true), the JPL representation of the Java boolean value’true’.",swi_man_packages('jpl.html'),packages,21257). │ │ │ +i(/(jpl_void,1),"X is @(void), the JPL representation of the pseudo Java value’void’.",swi_man_packages('jpl.html'),packages,21647). │ │ │ +i(/(jpl_array_to_length,2),"Array should be a JPL reference to a Java array of any type.",swi_man_packages('jpl.html'),packages,22036). │ │ │ +i(/(jpl_array_to_list,2),"Array should be a JPL reference to a Java array of any type.",swi_man_packages('jpl.html'),packages,22501). │ │ │ +i(/(jpl_datums_to_array,2),"A will be a JPL reference to a new Java array, whose base type is the most specific Java type of which each member of Datums is (directly or indirectly) an instance.",swi_man_packages('jpl.html'),packages,23134). │ │ │ +i(/(jpl_enumeration_element,2),"Generates each Element from Enumeration.",swi_man_packages('jpl.html'),packages,23737). │ │ │ +i(/(jpl_enumeration_to_list,2),"Enumeration should be a JPL reference to an object which implements the Enumeration interface.",swi_man_packages('jpl.html'),packages,24212). │ │ │ +i(/(jpl_hashtable_pair,2),"Generates Key-Value pairs from the given HashTable.",swi_man_packages('jpl.html'),packages,24927). │ │ │ +i(/(jpl_iterator_element,2),"Iterator should be a JPL reference to an object which implements the java.util.Iterator interface.",swi_man_packages('jpl.html'),packages,25398). │ │ │ +i(/(jpl_list_to_array,2),"Datums should be a proper Prolog list of JPL datums (values or references).",swi_man_packages('jpl.html'),packages,26017). │ │ │ +i(/(jpl_terms_to_array,2),"Terms should be a proper Prolog list of arbitrary terms.",swi_man_packages('jpl.html'),packages,26534). │ │ │ +i(/(jpl_array_to_terms,2),"JRef should be a JPL reference to a Java array of org.jpl7.Term instances (or ots subtypes); Terms will be a list of the terms which the respective array elements represent.",swi_man_packages('jpl.html'),packages,26957). │ │ │ +i(/(jpl_map_element,2),"Map must be a JPL Reference to an object which implements the java.util.Map interface This generates each Key-Value pair from the Map, e.g.",swi_man_packages('jpl.html'),packages,27317). │ │ │ +i(/(jpl_set_element,2),"Set must be a JPL reference to an object which implements the java.util.Set interface.",swi_man_packages('jpl.html'),packages,28238). │ │ │ +i(/(jpl_servlet_byref,3),"This serves the byref servlet demo, exemplifying one tactic for implementing a servlet in Prolog by accepting the Request and Response objects as JPL references and accessing their members via JPL as required; See alsojpl_servlet_byval/3",swi_man_packages('jpl.html'),packages,28812). │ │ │ +i(/(jpl_servlet_byval,3),"This exemplifies an alternative (to jpl_servlet_byref) tactic for implementing a servlet in Prolog; most Request fields are extracted in Java before this is called, and passed in as a multimap (a map, some of whose values are maps).",swi_man_packages('jpl.html'),packages,29348). │ │ │ +i(/(jpl_pl_syntax,1),"Unifies Syntax with’traditional’or’modern’according to the mode in which SWI Prolog 7.x was started",swi_man_packages('jpl.html'),packages,29755). │ │ │ +i(section(0,'0','packages/paxos.html'),"Paxos -- a SWI-Prolog replicating key-value store",swi_man_packages('paxos.html'),packages,2801). │ │ │ +i(section(2,'1','sec:paxos'),"library(paxos): A Replicated Data Store",swi_man_packages('paxos.html'),packages,3670). │ │ │ +i(/(paxos_initialize,1),"Initialize this Prolog process as a paxos node.",swi_man_packages('paxos.html'),packages,7687). │ │ │ +i(/(paxos_property,1),"True if Property is a current property for the paxos network.",swi_man_packages('paxos.html'),packages,8757). │ │ │ +i(/(paxos_set,1),"Equivalent to paxos_key(Term,Key), pasox_set(Key,Term).",swi_man_packages('paxos.html'),packages,9087). │ │ │ +i(/(paxos_set,2),"negotiates to have Key-Value recorded in the ledger for each of the quorum's members.",swi_man_packages('paxos.html'),packages,9487). │ │ │ +i(/(paxos_set,3),"negotiates to have Key-Value recorded in the ledger for each of the quorum's members.",swi_man_packages('paxos.html'),packages,9487). │ │ │ +i(/(paxos_quorum_ask,4),"Ask the paxos forum for their opinion.",swi_man_packages('paxos.html'),packages,11488). │ │ │ +i(/(paxos_get,1),"Equivalent to paxos_key(Term,Key), pasox_get(Key,Term).",swi_man_packages('paxos.html'),packages,12477). │ │ │ +i(/(paxos_get,2),"unifies Term with the entry retrieved from the Paxon's ledger.",swi_man_packages('paxos.html'),packages,12870). │ │ │ +i(/(paxos_get,3),"unifies Term with the entry retrieved from the Paxon's ledger.",swi_man_packages('paxos.html'),packages,12870). │ │ │ +i(/(paxos_replicate_key,3),"Replicate a Key to Nodes.",swi_man_packages('paxos.html'),packages,14251). │ │ │ +i(/(paxos_on_change,2),"Executes the specified Goal when Key changes.",swi_man_packages('paxos.html'),packages,14782). │ │ │ +i(/(paxos_on_change,3),"Executes the specified Goal when Key changes.",swi_man_packages('paxos.html'),packages,14782). │ │ │ +i(/(paxos_ledger_hook,5),"Hook called for all operations on the ledger.",swi_man_packages('paxos.html'),packages,15946). │ │ │ i(section(0,'0','packages/semweb.html'),"SWI-Prolog Semantic Web Library 3.0",swi_man_packages('semweb.html'),packages,2787). │ │ │ i(section(2,'1','sec:semweb-intro'),"Introduction",swi_man_packages('semweb.html'),packages,13144). │ │ │ i(section(2,'2','sec:semweb-scalability'),"Scalability",swi_man_packages('semweb.html'),packages,16530). │ │ │ i(section(2,'3','sec:semweb-rdfapi'),"Two RDF APIs",swi_man_packages('semweb.html'),packages,17422). │ │ │ i(section(3,'3.1','sec:semweb-rdf11'),"library(semweb/rdf11): The RDF database",swi_man_packages('semweb.html'),packages,18206). │ │ │ i(section(4,'3.1.1','sec:rdf11-query'),"Query the RDF database",swi_man_packages('semweb.html'),packages,18532). │ │ │ i(/(rdf,3),"True if an RDF triple exists, optionally in the graph G.",swi_man_packages('semweb.html'),packages,18726). │ │ │ @@ -3508,32 +3226,256 @@ │ │ │ i(section(2,'11','sec:rdfcompare'),"library(semweb/rdf_compare): Compare RDF graphs",swi_man_packages('semweb.html'),packages,219412). │ │ │ i(/(rdf_equal_graphs,3),"True if GraphA and GraphB are the same under Substition.",swi_man_packages('semweb.html'),packages,219987). │ │ │ i(section(2,'12','sec:rdfportray'),"library(semweb/rdf_portray): Portray RDF resources",swi_man_packages('semweb.html'),packages,220985). │ │ │ i(/(rdf_portray_as,1),"Set the style used to portray resources.",swi_man_packages('semweb.html'),packages,222065). │ │ │ i(/(rdf_portray_lang,1),"If Lang is a list, set the list or preferred languages.",swi_man_packages('semweb.html'),packages,222992). │ │ │ i(section(2,'13','sec:semweb-related-packages'),"Related packages",swi_man_packages('semweb.html'),packages,223314). │ │ │ i(section(2,'14','sec:semweb-version3'),"Version 3 release notes",swi_man_packages('semweb.html'),packages,224310). │ │ │ -i(section(0,'0','packages/rdf2pl.html'),"SWI-Prolog RDF parser",swi_man_packages('rdf2pl.html'),packages,2772). │ │ │ -i(section(2,'1','sec:rdfxml-intro'),"Introduction",swi_man_packages('rdf2pl.html'),packages,5024). │ │ │ -i(section(2,'2','sec:rdfxml-parser'),"Parsing RDF in Prolog",swi_man_packages('rdf2pl.html'),packages,6696). │ │ │ -i(section(2,'3','sec:rdfxml-predicates'),"Predicates for parsing RDF/XML",swi_man_packages('rdf2pl.html'),packages,9572). │ │ │ -i(/(load_rdf,2),"Same as load_rdf(File, Triples,[]).",swi_man_packages('rdf2pl.html'),packages,10337). │ │ │ -i(/(load_rdf,3),"Read the RDF-XML file File and return a list of Triples.",swi_man_packages('rdf2pl.html'),packages,10514). │ │ │ -i(section(3,'3.1','sec:rdfobject'),"RDF Object representation",swi_man_packages('rdf2pl.html'),packages,14470). │ │ │ -i(section(3,'3.2','sec:rdfxml-name-spaces'),"Name spaces",swi_man_packages('rdf2pl.html'),packages,15919). │ │ │ -i(section(3,'3.3','sec:rdfxml-low-level'),"Low-level access",swi_man_packages('rdf2pl.html'),packages,17043). │ │ │ -i(/(xml_to_rdf,3),"Process an XML term produced by load_structure/3 using the dialect(xmlns) output option.",swi_man_packages('rdf2pl.html'),packages,17882). │ │ │ -i(/(process_rdf,3),"Exploits the call-back interface of sgml2pl, calling OnTriples(Triples, File:Line) with the list of triples resulting from a single top level RDF object for each RDF element in the input as well as the source-location where the description started.",swi_man_packages('rdf2pl.html'),packages,18352). │ │ │ -i(section(2,'4','sec:rdfxml-write'),"Writing RDF graphs",swi_man_packages('rdf2pl.html'),packages,20128). │ │ │ -i(/(rdf_write_xml,2),"Write an RDF/XML document to Stream from the list of Triples.",swi_man_packages('rdf2pl.html'),packages,21112). │ │ │ -i(section(2,'5','sec:rdfxml-tests'),"Testing the RDF translator",swi_man_packages('rdf2pl.html'),packages,21965). │ │ │ -i(/(suite,1),"Run test N using the file suite/tN.rdf and display the RDF source, the intermediate Prolog representation and the resulting triples.",swi_man_packages('rdf2pl.html'),packages,22489). │ │ │ -i(/(passed,1),"Process suite/tN.rdf and store the resulting triples in suite/ok/tN.pl for later validation by test/0.",swi_man_packages('rdf2pl.html'),packages,22757). │ │ │ -i(/(test,0),"Run all tests and classify the result.",swi_man_packages('rdf2pl.html'),packages,23056). │ │ │ -i(section(2,'6','sec:rdfxml-metrics'),"Metrics",swi_man_packages('rdf2pl.html'),packages,23197). │ │ │ +i(section(0,'0','packages/cql.html'),"Constraint Query Language A high level interface to SQL databases",swi_man_packages('cql.html'),packages,2817). │ │ │ +i(section(2,'1','sec:cql'),"library(cql/cql): CQL - Constraint Query Language",swi_man_packages('cql.html'),packages,13967). │ │ │ +i(section(3,'1.1','sec:cql-warnings'),"Warnings from CQL",swi_man_packages('cql.html'),packages,14576). │ │ │ +i(section(4,'1.1.1','sec:cql-compare-null'),"CQL Comparisons with NULL",swi_man_packages('cql.html'),packages,14747). │ │ │ +i(section(4,'1.1.2','sec:cql-and-setof'),"Avoid setof/3 and bagof/3 in CQL queries",swi_man_packages('cql.html'),packages,15516). │ │ │ +i(section(3,'1.2','sec:cql-null-outer-jpin'),"CQL: Retrieved nulls have special logic to handle outer joins",swi_man_packages('cql.html'),packages,16357). │ │ │ +i(section(3,'1.3','sec:cql-quickstart'),"CQL: Getting Started Quickly",swi_man_packages('cql.html'),packages,17347). │ │ │ +i(section(3,'1.4','sec:cql-debugging'),"Debugging CQL queries",swi_man_packages('cql.html'),packages,18587). │ │ │ +i(section(3,'1.5','sec:cql-prolog-vars'),"Prolog Variables in CQL queries",swi_man_packages('cql.html'),packages,20414). │ │ │ +i(section(3,'1.6','sec:cql-special-attrs'),"CQL Special Attributes",swi_man_packages('cql.html'),packages,21810). │ │ │ +i(section(3,'1.7','sec:cql-examples'),"CQL Examples",swi_man_packages('cql.html'),packages,22876). │ │ │ +i(section(4,'1.7.1','sec:cql-insert'),"CQL Simple INSERT",swi_man_packages('cql.html'),packages,23156). │ │ │ +i(section(4,'1.7.2','sec:cql-insert2'),"CQL Simple INSERT with retrieval of identity of the inserted",swi_man_packages('cql.html'),packages,23400). │ │ │ +i(section(4,'1.7.3','sec:cql-delete'),"CQL Simple DELETE",swi_man_packages('cql.html'),packages,23703). │ │ │ +i(section(4,'1.7.4','sec:cql-select'),"CQL Simple SELECT",swi_man_packages('cql.html'),packages,24451). │ │ │ +i(section(4,'1.7.5','sec:cql-update'),"CQL Simple UPDATE",swi_man_packages('cql.html'),packages,25293). │ │ │ +i(section(4,'1.7.6','sec:cql-where-arith'),"CQL WHERE with arithmetic comparison",swi_man_packages('cql.html'),packages,25809). │ │ │ +i(section(4,'1.7.7','sec:cql-inner-join'),"CQL Simple INNER JOIN",swi_man_packages('cql.html'),packages,26077). │ │ │ +i(section(4,'1.7.8','sec:cql-update-join-where'),"CQL Arithmetic UPDATE with an INNER JOIN and a WHERE restriction",swi_man_packages('cql.html'),packages,26562). │ │ │ +i(section(4,'1.7.9','sec:cql-not-exists'),"CQL: Confirm row does not exist",swi_man_packages('cql.html'),packages,27202). │ │ │ +i(section(4,'1.7.10','sec:cql-count'),"CQL: Aggregation - Count",swi_man_packages('cql.html'),packages,27457). │ │ │ +i(section(4,'1.7.11','sec:cql-sum'),"CQL: Aggregation - Sum",swi_man_packages('cql.html'),packages,27739). │ │ │ +i(section(4,'1.7.12','sec:cql-avg'),"CQL: Aggregation - Average",swi_man_packages('cql.html'),packages,28018). │ │ │ +i(section(4,'1.7.13','sec:cql-max'),"CQL: Maximum Value",swi_man_packages('cql.html'),packages,28319). │ │ │ +i(section(4,'1.7.14','sec:cql-min'),"CQL: Minimum Value",swi_man_packages('cql.html'),packages,28615). │ │ │ +i(section(4,'1.7.15','sec:cql-group-by'),"CQL: Aggregation requiring GROUP BY",swi_man_packages('cql.html'),packages,28911). │ │ │ +i(section(4,'1.7.16','sec:cql-agg-subquery'),"CQL: INNER JOIN with an aggregation sub-query where the sub-query is constrained by a shared variable from the main query",swi_man_packages('cql.html'),packages,29309). │ │ │ +i(section(4,'1.7.17','sec:cql-join-subquery'),"CQL: INNER JOIN in an aggregation sub-query",swi_man_packages('cql.html'),packages,30007). │ │ │ +i(section(4,'1.7.18','sec:cql-negation'),"CQL: Negation",swi_man_packages('cql.html'),packages,30366). │ │ │ +i(section(4,'1.7.19','sec:cql-exists'),"CQL: EXISTS",swi_man_packages('cql.html'),packages,30785). │ │ │ +i(section(4,'1.7.20','sec:cql-left-outer-join'),"CQL: Left Outer Join",swi_man_packages('cql.html'),packages,31378). │ │ │ +i(section(4,'1.7.21','sec:cql-list-restrictions'),"CQL: List-based Restrictions",swi_man_packages('cql.html'),packages,31652). │ │ │ +i(section(4,'1.7.22','sec:cql-list-compilation'),"CQL: Compile time in-list constraint",swi_man_packages('cql.html'),packages,32506). │ │ │ +i(section(4,'1.7.23','sec:cql-disjunction'),"CQL: Disjunction resulting in OR in WHERE clause",swi_man_packages('cql.html'),packages,33662). │ │ │ +i(section(4,'1.7.24','sec:cql-disj-diff-joins'),"CQL: Disjunction resulting in different joins (implemented as a SQL UNION)",swi_man_packages('cql.html'),packages,34112). │ │ │ +i(section(4,'1.7.25','sec:cql-disj-attrs'),"CQL: Disjunction resulting in different SELECT attributes (implemented as separate ODBC queries)",swi_man_packages('cql.html'),packages,34700). │ │ │ +i(section(4,'1.7.26','sec:cql-order-by'),"CQL: ORDER BY",swi_man_packages('cql.html'),packages,35187). │ │ │ +i(section(4,'1.7.27','sec:cql-distinct'),"CQL: DISTINCT",swi_man_packages('cql.html'),packages,35551). │ │ │ +i(section(4,'1.7.28','sec:cql-select-not-null'),"CQL: SELECT with NOT NULL restriction",swi_man_packages('cql.html'),packages,36197). │ │ │ +i(section(4,'1.7.29','sec:cql-top'),"CQL: First N",swi_man_packages('cql.html'),packages,36479). │ │ │ +i(section(4,'1.7.30','sec:cql-self-join'),"CQL: Self JOIN",swi_man_packages('cql.html'),packages,36818). │ │ │ +i(section(4,'1.7.31','sec:cql-no-null-compare'),"CQL: Removing null comparisions",swi_man_packages('cql.html'),packages,37093). │ │ │ +i(section(4,'1.7.32','sec:cql-three-table-join'),"CQL: Three table JOIN",swi_man_packages('cql.html'),packages,38485). │ │ │ +i(section(4,'1.7.33','sec:cql-three-nolock'),"CQL: Three table JOIN with NOLOCK locking hint",swi_man_packages('cql.html'),packages,38961). │ │ │ +i(section(4,'1.7.34','sec:cql-like'),"CQL: SELECT with LIKE",swi_man_packages('cql.html'),packages,39372). │ │ │ +i(section(4,'1.7.35','sec:cql-write'),"CQL: Writing exceptions directly to the database",swi_man_packages('cql.html'),packages,39704). │ │ │ +i(section(4,'1.7.36','sec:cql-top-n-parametric'),"CQL: TOP N is Parametric",swi_man_packages('cql.html'),packages,40458). │ │ │ +i(section(4,'1.7.37','sec:cql-compile-time-goal'),"CQL: Using compile_time_goal/1",swi_man_packages('cql.html'),packages,40961). │ │ │ +i(section(4,'1.7.38','sec:cql-on'),"CQL: ON",swi_man_packages('cql.html'),packages,42018). │ │ │ +i(section(4,'1.7.39','sec:cql-expr-in-where'),"CQL: Expressions In Where Restrictions",swi_man_packages('cql.html'),packages,42908). │ │ │ +i(section(4,'1.7.40','sec:cql-no-where'),"CQL: Explicitly avoid the \"No WHERE restriction\" message",swi_man_packages('cql.html'),packages,43271). │ │ │ +i(section(4,'1.7.41','sec:cql-having'),"CQL: HAVING",swi_man_packages('cql.html'),packages,44027). │ │ │ +i(section(4,'1.7.42','sec:cql-inst-update-value'),"CQL: INSERT and UPDATE value in-line formatting",swi_man_packages('cql.html'),packages,44837). │ │ │ +i(section(4,'1.7.43','sec:cql-neg-where'),"CQL: Negations in WHERE Clauses",swi_man_packages('cql.html'),packages,45395). │ │ │ +i(section(4,'1.7.44','sec:cql-gen-att-values'),"CQL: Predicate-generated Attribute Values",swi_man_packages('cql.html'),packages,45881). │ │ │ +i(section(4,'1.7.45','sec:cql-insert-from-select'),"CQL: INSERT from SELECT",swi_man_packages('cql.html'),packages,47413). │ │ │ +i(section(3,'1.8','sec:cql-hooks'),"CQL: Hooks",swi_man_packages('cql.html'),packages,48271). │ │ │ +i(section(4,'1.8.1','sec:cql-code-hooks'),"CQL: Generated Code Hooks",swi_man_packages('cql.html'),packages,48534). │ │ │ +i(section(4,'1.8.2','sec:cql-represent-hooks'),"CQL: Data Representation Hooks",swi_man_packages('cql.html'),packages,49327). │ │ │ +i(section(4,'1.8.3','sec:cql-appl-hooks'),"CQL: Application Integration",swi_man_packages('cql.html'),packages,50196). │ │ │ +i(section(4,'1.8.4','sec:cql-inline-hooks'),"CQL: Inline values",swi_man_packages('cql.html'),packages,52791). │ │ │ +i(section(4,'1.8.5','sec:cql-shema-hook'),"CQL: Schema",swi_man_packages('cql.html'),packages,53361). │ │ │ +i(section(4,'1.8.6','sec:cql-events-and-history'),"CQL: Event Processing and History",swi_man_packages('cql.html'),packages,55196). │ │ │ +i(section(4,'1.8.7','sec:cql-statistics-hooks'),"CQL: Statistical Hooks",swi_man_packages('cql.html'),packages,56364). │ │ │ +i(/(cql_set_module_default_schema,1),"Set the Schema for a module",swi_man_packages('cql.html'),packages,59009). │ │ │ +i(/(cql_get_module_default_schema,2),"",swi_man_packages('cql.html'),packages,59209). │ │ │ +i(/(cql_goal_expansion,3),"Expand at compile time if the first term is a list of unbound input variables Expand at runtime if the first term is compile_at_runtime",swi_man_packages('cql.html'),packages,59394). │ │ │ +i(/(cql_runtime,7),"",swi_man_packages('cql.html'),packages,59697). │ │ │ +i(/(cql_temporary_column_name,4),"",swi_man_packages('cql.html'),packages,59901). │ │ │ +i(/(cql_show,2),"Called when ?/1, ??/1, and ???/1 applied to CQL Goal goal term Mode minimal ; explicit ; full",swi_man_packages('cql.html'),packages,60087). │ │ │ +i(/(statistic_monitored_attribute,3),"",swi_man_packages('cql.html'),packages,60509). │ │ │ +i(/(dbms,2),"Determine the DBMS for a given Schema.",swi_man_packages('cql.html'),packages,60697). │ │ │ +i(/(odbc_data_type,4),"OdbcDataType must be a native SQL datatype, such as varchar(30) or decimal(10, 5) Can be autoconfigured.",swi_man_packages('cql.html'),packages,60936). │ │ │ +i(/(primary_key_column_name,3),"Can be autoconfigured.",swi_man_packages('cql.html'),packages,61294). │ │ │ +i(/(routine_return_type,3),"Can be autoconfigured",swi_man_packages('cql.html'),packages,61548). │ │ │ +i(/(database_constraint,4),"Constraint is one of: primary_key(ColumnNames:list)foreign_key(ForeignTableName:atom, ForeignColumnNames:list, ColumnNames:list)unique(ColumnNames:list)check(CheckClause) In theory this can be autoconfigured too, but I have not written the code for it yet",swi_man_packages('cql.html'),packages,61789). │ │ │ +i(/(attribute_domain,4),"",swi_man_packages('cql.html'),packages,62414). │ │ │ +i(/(database_identity,3),"",swi_man_packages('cql.html'),packages,62585). │ │ │ +i(/(database_key,5),"KeyColumnNames list of atom in database-supplied order KeyType identity ; ’primary key’ ; unique",swi_man_packages('cql.html'),packages,62765). │ │ │ +i(/(cql_event_notification_table,2),"",swi_man_packages('cql.html'),packages,63221). │ │ │ +i(/(cql_history_attribute,3),"",swi_man_packages('cql.html'),packages,63437). │ │ │ +i(/(sql_gripe_hook,3),"Called when something dubious is found by the SQL parser.",swi_man_packages('cql.html'),packages,63652). │ │ │ +i(/(cql_normalize_name,3),"Normalize a name which is potentially longer than the DBMS allows to a unique truncation",swi_man_packages('cql.html'),packages,63900). │ │ │ +i(/(register_database_connection_details,2),"This should be called once to register the database connection details.",swi_man_packages('cql.html'),packages,64163). │ │ │ +i(section(0,'0','packages/ssl.html'),"SWI-Prolog SSL Interface",swi_man_packages('ssl.html'),packages,2776). │ │ │ +i(section(2,'1','sec:ssl-intro'),"Introduction",swi_man_packages('ssl.html'),packages,9022). │ │ │ +i(section(2,'2','sec:ssl'),"library(ssl): Secure Socket Layer (SSL) library",swi_man_packages('ssl.html'),packages,11063). │ │ │ +i(/(ssl_context,3),"Create an SSL context.",swi_man_packages('ssl.html'),packages,12932). │ │ │ +i(/(ssl_upgrade_legacy_options,2),"Handle deprecated cacert_file(Spec) option and map it to the new cacerts(+List) option.",swi_man_packages('ssl.html'),packages,25003). │ │ │ +i(/(ssl_add_certificate_key,4),"Add an additional certificate/key pair to SSL0, yielding SSL.",swi_man_packages('ssl.html'),packages,25322). │ │ │ +i(/(ssl_set_options,3),"SSL is the same as SSL0, except for the options specified in Options.",swi_man_packages('ssl.html'),packages,26252). │ │ │ +i(/(ssl_property,2),"True when Property is a property of SSL.",swi_man_packages('ssl.html'),packages,27371). │ │ │ +i(/(ssl_negotiate,5),"Once a connection is established and a read/write stream pair is available, (PlainRead and PlainWrite), this predicate can be called to negotiate an SSL session over the streams.",swi_man_packages('ssl.html'),packages,27904). │ │ │ +i(/(ssl_peer_certificate,2),"True if the peer certificate is provided (this is always the case for a client connection) and Certificate unifies with the peer certificate.",swi_man_packages('ssl.html'),packages,29306). │ │ │ +i(/(ssl_peer_certificate_chain,2),"Certificates is the certificate chain provided by the peer, represented as a list of certificates.",swi_man_packages('ssl.html'),packages,29952). │ │ │ +i(/(ssl_session,2),"Retrieves (debugging) properties from the SSL context associated with Stream.",swi_man_packages('ssl.html'),packages,30269). │ │ │ +i(/(load_certificate,2),"Loads a certificate from a PEM- or DER-encoded stream, returning a certificate.",swi_man_packages('ssl.html'),packages,32202). │ │ │ +i(/(write_certificate,3),"Writes a certificate to the stream Stream.",swi_man_packages('ssl.html'),packages,33007). │ │ │ +i(/(load_crl,2),"Loads a CRL from a PEM- or DER-encoded stream, returning a term containing terms hash/1, signature/1, issuer_name/1 and revocations/1, which is a list of revoked/2 terms.",swi_man_packages('ssl.html'),packages,33306). │ │ │ +i(/(system_root_certificates,1),"List is a list of trusted root certificates as provided by the OS.",swi_man_packages('ssl.html'),packages,33915). │ │ │ +i(/(load_private_key,3),"Load a private key PrivateKey from the given stream Stream, using Password to decrypt the key if it is encrypted.",swi_man_packages('ssl.html'),packages,35193). │ │ │ +i(/(load_public_key,2),"Load a public key PublicKey from the given stream Stream.",swi_man_packages('ssl.html'),packages,36067). │ │ │ +i(/(cert_accept_any,5),"Implementation for the hook‘cert_verify_hook(:Hook)` that accepts any certificate.",swi_man_packages('ssl.html'),packages,36776). │ │ │ +i(/(same_certificate,2),"True if CertificateA is logically the same as CertificateB, even if they are stored in different blobs",swi_man_packages('ssl.html'),packages,37355). │ │ │ +i(/(verify_certificate_issuer,2),"True if Certificate is a certificate which was issued by the certificate Issuer.",swi_man_packages('ssl.html'),packages,37638). │ │ │ +i(/(verify_certificate,3),"True if it is possible to build a chain of trust from Certificate to one of the certificates in TrustedCertificates, optionally using the (untrusted) certificates in AuxiliaryCertificates to complete the chain.",swi_man_packages('ssl.html'),packages,37910). │ │ │ +i(/(certificate_field,2),"Retrieve the field matching Field from Certificate.",swi_man_packages('ssl.html'),packages,38489). │ │ │ +i(/(ssl_secure_ciphers,1),"Ciphers is a secure cipher preference list that can be used in the cipher_list/1 option of ssl_context/3.",swi_man_packages('ssl.html'),packages,39852). │ │ │ +i(section(2,'3','sec:crypto'),"library(crypto): Cryptography and authentication library",swi_man_packages('ssl.html'),packages,41072). │ │ │ +i(section(3,'3.1','sec:crypto-introduction'),"Introduction",swi_man_packages('ssl.html'),packages,41471). │ │ │ +i(section(3,'3.2','sec:crypto-secure-defaults'),"Design principle: Secure default algorithms",swi_man_packages('ssl.html'),packages,41826). │ │ │ +i(section(3,'3.3','sec:crypto-binary-data'),"Representing binary data",swi_man_packages('ssl.html'),packages,43913). │ │ │ +i(/(hex_bytes,2),"Relation between a hexadecimal sequence and a list of bytes.",swi_man_packages('ssl.html'),packages,44340). │ │ │ +i(section(3,'3.4','sec:crypto-random'),"Cryptographically secure random numbers",swi_man_packages('ssl.html'),packages,45404). │ │ │ +i(/(crypto_n_random_bytes,2),"Bytes is unified with a list of N cryptographically secure pseudo-random bytes.",swi_man_packages('ssl.html'),packages,45889). │ │ │ +i(section(3,'3.5','sec:crypto-hash'),"Hashes",swi_man_packages('ssl.html'),packages,47381). │ │ │ +i(section(4,'3.5.1','sec:crypto-hash-basic'),"Hashes of data and files",swi_man_packages('ssl.html'),packages,48488). │ │ │ +i(/(crypto_data_hash,3),"Hash is the hash of Data.",swi_man_packages('ssl.html'),packages,48753). │ │ │ +i(/(crypto_file_hash,3),"True if Hash is the hash of the content of File.",swi_man_packages('ssl.html'),packages,51163). │ │ │ +i(section(4,'3.5.2','sec:crypto-hash-password'),"Hashes of passwords",swi_man_packages('ssl.html'),packages,51527). │ │ │ +i(/(crypto_password_hash,2),"If Hash is instantiated, the predicate succeeds iff the hash matches the given password.",swi_man_packages('ssl.html'),packages,51857). │ │ │ +i(/(crypto_password_hash,3),"Derive Hash based on Password.",swi_man_packages('ssl.html'),packages,52312). │ │ │ +i(section(4,'3.5.3','sec:crypto-hkdf'),"HMAC-based key derivation function (HKDF)",swi_man_packages('ssl.html'),packages,55512). │ │ │ +i(/(crypto_data_hkdf,4),"Concentrate possibly dispersed entropy of Data and then expand it to the desired length.",swi_man_packages('ssl.html'),packages,56172). │ │ │ +i(section(4,'3.5.4','sec:crypto-hash-incremental'),"Hashing incrementally",swi_man_packages('ssl.html'),packages,58274). │ │ │ +i(/(crypto_context_new,2),"Context is unified with the empty context, taking into account Options.",swi_man_packages('ssl.html'),packages,58960). │ │ │ +i(/(crypto_data_context,3),"Context0 is an existing computation context, and Context is the new context after hashing Data in addition to the previously hashed data.",swi_man_packages('ssl.html'),packages,59588). │ │ │ +i(/(crypto_context_hash,2),"Obtain the hash code of Context.",swi_man_packages('ssl.html'),packages,60367). │ │ │ +i(/(crypto_open_hash_stream,3),"Open a filter stream on OrgStream that maintains a hash.",swi_man_packages('ssl.html'),packages,60796). │ │ │ +i(/(crypto_stream_hash,2),"Unify Hash with a hash for the bytes sent to or read from HashStream.",swi_man_packages('ssl.html'),packages,61530). │ │ │ +i(section(3,'3.6','sec:crypto-signatures'),"Digital signatures",swi_man_packages('ssl.html'),packages,62116). │ │ │ +i(section(4,'3.6.1','sec:crypto-ECDSA'),"ECDSA",swi_man_packages('ssl.html'),packages,63337). │ │ │ +i(/(ecdsa_sign,4),"Create an ECDSA signature for Data with EC private key Key.",swi_man_packages('ssl.html'),packages,63515). │ │ │ +i(/(ecdsa_verify,4),"True iff Signature can be verified as the ECDSA signature for Data, using the EC public key Key.",swi_man_packages('ssl.html'),packages,64467). │ │ │ +i(section(4,'3.6.2','sec:crypto-RSA'),"RSA",swi_man_packages('ssl.html'),packages,65092). │ │ │ +i(/(rsa_sign,4),"Create an RSA signature for Data with private key Key.",swi_man_packages('ssl.html'),packages,65264). │ │ │ +i(/(rsa_verify,4),"Verify an RSA signature for Data with public key Key.",swi_man_packages('ssl.html'),packages,67014). │ │ │ +i(section(3,'3.7','sec:crypto-asymmetric'),"Asymmetric encryption and decryption",swi_man_packages('ssl.html'),packages,68075). │ │ │ +i(/(rsa_private_decrypt,4),"RSA Public key encryption and decryption primitives.",swi_man_packages('ssl.html'),packages,68497). │ │ │ +i(/(rsa_private_encrypt,4),"RSA Public key encryption and decryption primitives.",swi_man_packages('ssl.html'),packages,68497). │ │ │ +i(/(rsa_public_decrypt,4),"RSA Public key encryption and decryption primitives.",swi_man_packages('ssl.html'),packages,68497). │ │ │ +i(/(rsa_public_encrypt,4),"RSA Public key encryption and decryption primitives.",swi_man_packages('ssl.html'),packages,68497). │ │ │ +i(section(3,'3.8','sec:crypto-symmetric'),"Symmetric encryption and decryption",swi_man_packages('ssl.html'),packages,70737). │ │ │ +i(/(crypto_data_encrypt,6),"Encrypt the given PlainText, using the symmetric algorithm Algorithm, key Key, and initialization vector (or nonce) IV, to give CipherText.",swi_man_packages('ssl.html'),packages,71091). │ │ │ +i(/(crypto_data_decrypt,6),"Decrypt the given CipherText, using the symmetric algorithm Algorithm, key Key, and initialization vector IV, to give PlainText.",swi_man_packages('ssl.html'),packages,77224). │ │ │ +i(section(3,'3.9','sec:crypto-numbertheory'),"Number theory",swi_man_packages('ssl.html'),packages,79063). │ │ │ +i(/(crypto_modular_inverse,3),"Compute the modular multiplicative inverse of the integer X.",swi_man_packages('ssl.html'),packages,79426). │ │ │ +i(/(crypto_generate_prime,3),"Generate a prime P with at least N bits.",swi_man_packages('ssl.html'),packages,79801). │ │ │ +i(/(crypto_is_prime,2),"True iff P passes a probabilistic primality test.",swi_man_packages('ssl.html'),packages,80435). │ │ │ +i(section(3,'3.10','sec:crypto-ec'),"Elliptic curves",swi_man_packages('ssl.html'),packages,81079). │ │ │ +i(/(crypto_name_curve,2),"Obtain a handle for a named elliptic curve.",swi_man_packages('ssl.html'),packages,81779). │ │ │ +i(/(crypto_curve_order,2),"Obtain the order of an elliptic curve.",swi_man_packages('ssl.html'),packages,82406). │ │ │ +i(/(crypto_curve_generator,2),"Point is the generator of the elliptic curve Curve.",swi_man_packages('ssl.html'),packages,82766). │ │ │ +i(/(crypto_curve_scalar_mult,4),"R is the result of N times Point on the elliptic curve Curve.",swi_man_packages('ssl.html'),packages,83037). │ │ │ +i(section(3,'3.11','sec:crypto-shared-secret'),"Example: Establishing a shared secret",swi_man_packages('ssl.html'),packages,83442). │ │ │ +i(section(2,'4','sec:ssl-xml-libs'),"XML cryptographic libraries",swi_man_packages('ssl.html'),packages,88238). │ │ │ +i(section(3,'4.1','sec:saml'),"library(saml): SAML Authentication",swi_man_packages('ssl.html'),packages,88826). │ │ │ +i(section(3,'4.2','sec:xmlenc'),"library(xmlenc): XML encryption library",swi_man_packages('ssl.html'),packages,92427). │ │ │ +i(/(decrypt_xml,4),"KeyCallback may be called as follows: call(KeyCallback, name, KeyName, Key)call(KeyCallback, public_key, public_key(RSA), Key)call(KeyCallback, certificate, Certificate, Key)",swi_man_packages('ssl.html'),packages,93108). │ │ │ +i(/(load_certificate_from_base64_string,2),"Loads a certificate from a string, adding newlines and header where appropriate so that OpenSSL 1.0.1+ will be able to parse it",swi_man_packages('ssl.html'),packages,93638). │ │ │ +i(section(3,'4.3','sec:xmldsig'),"library(xmldsig): XML Digital signature",swi_man_packages('ssl.html'),packages,94001). │ │ │ +i(/(xmld_signed_DOM,3),"Translate an XML DOM structure in a signed version.",swi_man_packages('ssl.html'),packages,94809). │ │ │ +i(/(xmld_verify_signature,4),"Confirm that an ds:Signature element contains a valid signature.",swi_man_packages('ssl.html'),packages,95779). │ │ │ +i(section(2,'5','sec:ssl-security'),"SSL Security",swi_man_packages('ssl.html'),packages,96605). │ │ │ +i(section(2,'6','sec:crl'),"CRLs and Revocation",swi_man_packages('ssl.html'),packages,100971). │ │ │ +i(section(4,'6.1','sec:disable-certificate'),"Disabling certificate checking",swi_man_packages('ssl.html'),packages,104171). │ │ │ +i(section(4,'6.2','sec:ssl-safe-connection'),"Establishing a safe connection",swi_man_packages('ssl.html'),packages,104906). │ │ │ +i(section(2,'7','sec:ssl-examples'),"Example code",swi_man_packages('ssl.html'),packages,108094). │ │ │ +i(section(3,'7.1','sec:ssl-https-client'),"Accessing an HTTPS server",swi_man_packages('ssl.html'),packages,108708). │ │ │ +i(section(3,'7.2','sec:ssl-https-server'),"Creating an HTTPS server",swi_man_packages('ssl.html'),packages,109504). │ │ │ +i(section(3,'7.3','sec:https-proxy'),"HTTPS behind a proxy",swi_man_packages('ssl.html'),packages,114362). │ │ │ +i(section(2,'8','sec:compatibility'),"Compatibility of the API",swi_man_packages('ssl.html'),packages,115934). │ │ │ +i(section(2,'9','sec:ssl-acknowledgments'),"Acknowledgments",swi_man_packages('ssl.html'),packages,116970). │ │ │ +i(section(0,'0','packages/archive.html'),"SWI-Prolog binding to libarchive",swi_man_packages('archive.html'),packages,2784). │ │ │ +i(section(2,'1','sec:archive-motivation'),"Motivation",swi_man_packages('archive.html'),packages,4200). │ │ │ +i(section(2,'2','sec:archive'),"library(archive): Access several archive formats",swi_man_packages('archive.html'),packages,6621). │ │ │ +i(/(archive_open,3),"Wrapper around archive_open/4 that opens the archive in read mode.",swi_man_packages('archive.html'),packages,8339). │ │ │ +i(/(archive_open,4),"Open the archive in Data and unify Archive with a handle to the opened archive.",swi_man_packages('archive.html'),packages,8631). │ │ │ +i(/(archive_close,1),"Close the archive.",swi_man_packages('archive.html'),packages,12839). │ │ │ +i(/(archive_property,2),"True when Property is a property of the archive Handle.",swi_man_packages('archive.html'),packages,13725). │ │ │ +i(/(archive_next_header,2),"Forward to the next entry of the archive for which Name unifies with the pathname of the entry.",swi_man_packages('archive.html'),packages,14200). │ │ │ +i(/(archive_open_entry,2),"Open the current entry as a stream.",swi_man_packages('archive.html'),packages,15448). │ │ │ +i(/(archive_set_header_property,2),"Set Property of the current header.",swi_man_packages('archive.html'),packages,15860). │ │ │ +i(/(archive_header_property,2),"True when Property is a property of the current header.",swi_man_packages('archive.html'),packages,16910). │ │ │ +i(/(archive_extract,3),"Extract files from the given archive into Dir.",swi_man_packages('archive.html'),packages,18343). │ │ │ +i(/(archive_entries,2),"True when Paths is a list of pathnames appearing in Archive.",swi_man_packages('archive.html'),packages,19874). │ │ │ +i(/(archive_data_stream,3),"True when DataStream is a stream to a data object inside Archive.",swi_man_packages('archive.html'),packages,20135). │ │ │ +i(/(archive_create,3),"Convenience predicate to create an archive in OutputFile with data from a list of InputFiles and the given Options.",swi_man_packages('archive.html'),packages,21878). │ │ │ +i(/(archive_foldl,4),"Operates like foldl/4 but for the entries in the archive.",swi_man_packages('archive.html'),packages,23119). │ │ │ +i(section(2,'3','sec:archive-status'),"Status",swi_man_packages('archive.html'),packages,24053). │ │ │ +i(section(0,'0','packages/odbc.html'),"SWI-Prolog ODBC Interface",swi_man_packages('odbc.html'),packages,2777). │ │ │ +i(section(2,'1','sec:odbc-intro'),"Introduction",swi_man_packages('odbc.html'),packages,7000). │ │ │ +i(section(2,'2','sec:odbc'),"The ODBC layer",swi_man_packages('odbc.html'),packages,8144). │ │ │ +i(section(3,'2.1','sec:odbc-global-config'),"Global configuration",swi_man_packages('odbc.html'),packages,8289). │ │ │ +i(/(odbc_set_option,1),"Set global properties for the environment.",swi_man_packages('odbc.html'),packages,8488). │ │ │ +i(section(3,'2.2','sec:odbc-connections'),"Connection management",swi_man_packages('odbc.html'),packages,9061). │ │ │ +i(/(odbc_connect,3),"Create a new ODBC connection to data-source DSN and return a handle to this connection in Connection.",swi_man_packages('odbc.html'),packages,9423). │ │ │ +i(/(odbc_driver_connect,3),"Connects to a database using SQLDriverConnect().",swi_man_packages('odbc.html'),packages,13028). │ │ │ +i(/(odbc_disconnect,1),"Close the given Connection.",swi_man_packages('odbc.html'),packages,13847). │ │ │ +i(/(odbc_current_connection,2),"Enumerate the existing ODBC connections.",swi_man_packages('odbc.html'),packages,14149). │ │ │ +i(/(odbc_set_connection,2),"Set options on an existing connection.",swi_man_packages('odbc.html'),packages,14350). │ │ │ +i(/(odbc_get_connection,2),"Query for properties of the connection.",swi_man_packages('odbc.html'),packages,18601). │ │ │ +i(/(odbc_data_source,2),"Query the defined data sources.",swi_man_packages('odbc.html'),packages,20405). │ │ │ +i(section(3,'2.3','sec:odbc-query'),"Running SQL queries",swi_man_packages('odbc.html'),packages,21064). │ │ │ +i(section(4,'2.3.1','sec:odbc-one-time-query'),"One-time invocation",swi_man_packages('odbc.html'),packages,21725). │ │ │ +i(/(odbc_query,3),"Same as odbc_query/4 using [] for Options.",swi_man_packages('odbc.html'),packages,21929). │ │ │ +i(/(odbc_query,4),"Fire an SQL query on the database represented by Connection.",swi_man_packages('odbc.html'),packages,22230). │ │ │ +i(/(odbc_query,2),"As odbc_query/3, but used for SQL-statements that should not return result-rows (i.e.",swi_man_packages('odbc.html'),packages,28747). │ │ │ +i(section(4,'2.3.2','sec:odbc-param-query'),"Parameterised queries",swi_man_packages('odbc.html'),packages,29173). │ │ │ +i(/(odbc_prepare,4),"As odbc_prepare/5 using [] for Options.",swi_man_packages('odbc.html'),packages,29804). │ │ │ +i(/(odbc_prepare,5),"Create a statement from the given SQL (which may be a format specification as described with odbc_query/3) statement that normally has one or more parameter-indicators (?",swi_man_packages('odbc.html'),packages,30120). │ │ │ +i(/(odbc_execute,3),"Execute a statement prepared with odbc_prepare/4 with the given ParameterValues and return the rows or number of affected rows as odbc_query/4.",swi_man_packages('odbc.html'),packages,33707). │ │ │ +i(/(odbc_execute,2),"Like odbc_query/2, this predicate is meant to execute simple SQL statements without interest in the result.",swi_man_packages('odbc.html'),packages,35278). │ │ │ +i(/(odbc_cancel_thread,1),"If the thread ThreadId is currently blocked inside odbc_execute/3 then interrupt it.",swi_man_packages('odbc.html'),packages,35608). │ │ │ +i(/(odbc_free_statement,1),"Destroy a statement prepared with odbc_prepare/4.",swi_man_packages('odbc.html'),packages,36272). │ │ │ +i(section(4,'2.3.3','sec:sqlfetch'),"Fetching rows explicitely",swi_man_packages('odbc.html'),packages,36772). │ │ │ +i(/(odbc_fetch,3),"Fetch a row from the result-set of Statement.",swi_man_packages('odbc.html'),packages,37791). │ │ │ +i(/(odbc_close_statement,1),"Closes the given statement (without freeing it).",swi_man_packages('odbc.html'),packages,40588). │ │ │ +i(section(4,'2.3.4','sec:sqlresultsets'),"Fetching data from multiple result sets",swi_man_packages('odbc.html'),packages,40945). │ │ │ +i(/(odbc_next_result_set,1),"Succeeds if there is another result set, and positions the cursor at the first row of the new result set.",swi_man_packages('odbc.html'),packages,41763). │ │ │ +i(section(3,'2.4','sec:sqltrans'),"Transaction management",swi_man_packages('odbc.html'),packages,42818). │ │ │ +i(/(odbc_end_transaction,2),"End the currently open transaction if there is one.",swi_man_packages('odbc.html'),packages,43508). │ │ │ +i(section(3,'2.5','sec:odbc-db-dictionary'),"Accessing the database dictionary",swi_man_packages('odbc.html'),packages,43971). │ │ │ +i(/(odbc_current_table,2),"Return on backtracking the names of all tables in the database identified by the connection.",swi_man_packages('odbc.html'),packages,44432). │ │ │ +i(/(odbc_current_table,3),"Enumerate properties of the tables.",swi_man_packages('odbc.html'),packages,44678). │ │ │ +i(/(odbc_table_column,3),"On backtracking, enumerate all columns in all tables.",swi_man_packages('odbc.html'),packages,45288). │ │ │ +i(/(odbc_table_column,4),"Provides access to the properties of the table as defined by the ODBC call SQLColumns().",swi_man_packages('odbc.html'),packages,45501). │ │ │ +i(/(odbc_type,3),"Query the types supported by the data source.",swi_man_packages('odbc.html'),packages,46823). │ │ │ +i(/(odbc_table_primary_key,3),"True when Column is a primary key in Table.",swi_man_packages('odbc.html'),packages,49432). │ │ │ +i(/(odbc_table_foreign_key,5),"True when PkTable/PkCol FkTable/FkCol is a foreign keys column.",swi_man_packages('odbc.html'),packages,49667). │ │ │ +i(section(3,'2.6','sec:odbcinfo'),"Getting more information",swi_man_packages('odbc.html'),packages,49975). │ │ │ +i(/(odbc_statistics,1),"Get statistical data on the ODBC interface.",swi_man_packages('odbc.html'),packages,50158). │ │ │ +i(/(odbc_debug,1),"Set the verbosity-level to Level.",swi_man_packages('odbc.html'),packages,50996). │ │ │ +i(section(3,'2.7','sec:sqltypes'),"Representing SQL data in Prolog",swi_man_packages('odbc.html'),packages,51245). │ │ │ +i(section(3,'2.8','sec:odbc-reports'),"Errors and warnings",swi_man_packages('odbc.html'),packages,54648). │ │ │ +i(section(4,'2.8.1','sec:successwithinfo'),"ODBC messages:‘Success with info’",swi_man_packages('odbc.html'),packages,54975). │ │ │ +i(section(4,'2.8.2','sec:sqlerror'),"ODBC errors",swi_man_packages('odbc.html'),packages,55828). │ │ │ +i(section(3,'2.9','sec:odbc-implementations'),"ODBC implementations",swi_man_packages('odbc.html'),packages,56439). │ │ │ +i(section(4,'2.9.1','sec:odbc-unix'),"Using unixODBC",swi_man_packages('odbc.html'),packages,57120). │ │ │ +i(section(4,'2.9.2','sec:odbc-microsoft'),"Using Microsoft ODBC",swi_man_packages('odbc.html'),packages,57515). │ │ │ +i(section(3,'2.10','sec:odbc-issues'),"Remaining issues",swi_man_packages('odbc.html'),packages,57796). │ │ │ +i(section(2,'3','sec:odbc-acknowledgments'),"Acknowledgments",swi_man_packages('odbc.html'),packages,58491). │ │ │ i(section(0,'0','packages/protobufs.html'),"Google's Protocol Buffers Library",swi_man_packages('protobufs.html'),packages,2785). │ │ │ i(section(2,'1','sec:protobufs-main'),"Google's Protocol Buffers",swi_man_packages('protobufs.html'),packages,6873). │ │ │ i(section(3,'1.1','sec:protobufs-overview'),"Overview",swi_man_packages('protobufs.html'),packages,7052). │ │ │ i(section(3,'1.2','sec:protobufs-processing-with-prolog'),"Processing protobufs with Prolog",swi_man_packages('protobufs.html'),packages,8651). │ │ │ i(section(3,'1.3','sec:protobufs-protoc'),"protoc",swi_man_packages('protobufs.html'),packages,9347). │ │ │ i(section(4,'1.3.1','sec:protobufs-serialize-to-codes'),"protobuf_serialize_to_codes/3",swi_man_packages('protobufs.html'),packages,12047). │ │ │ i(section(4,'1.3.2','sec:protobufs-parse-from-codes'),"protobuf_parse_from_codes/3",swi_man_packages('protobufs.html'),packages,13703). │ │ │ @@ -3553,42 +3495,101 @@ │ │ │ i(section(2,'3','sec:protobufs'),"library(protobufs): Google's Protocol Buffers (\"protobufs\")",swi_man_packages('protobufs.html'),packages,53868). │ │ │ i(/(protobuf_parse_from_codes,3),"Process bytes (list of int) that is the serialized form of a message (designated by MessageType), creating a Prolog term.",swi_man_packages('protobufs.html'),packages,59354). │ │ │ i(/(protobuf_serialize_to_codes,3),"Process a Prolog term into bytes (list of int) that is the serialized form of a message (designated by MessageType).",swi_man_packages('protobufs.html'),packages,63857). │ │ │ i(/(protobuf_message,2),"Marshals and unmarshals byte streams encoded using Google's Protobuf grammars.",swi_man_packages('protobufs.html'),packages,66576). │ │ │ i(/(protobuf_message,3),"Marshals and unmarshals byte streams encoded using Google's Protobuf grammars.",swi_man_packages('protobufs.html'),packages,66576). │ │ │ i(/(protobuf_field_is_map,2),"Succeeds if MessageType’s FieldName is defined as a map<...> in the .proto file.",swi_man_packages('protobufs.html'),packages,68292). │ │ │ i(/(protobuf_map_pairs,3),"Convert between a list of protobuf map entries (in the form DictTag{key:Key, value:Value} and a key-value list as described in library(pairs).",swi_man_packages('protobufs.html'),packages,68636). │ │ │ -i(section(0,'0','packages/plunit.html'),"Prolog Unit Tests",swi_man_packages('plunit.html'),packages,2769). │ │ │ -i(section(2,'1','sec:plunit-intro'),"Introduction",swi_man_packages('plunit.html'),packages,6420). │ │ │ -i(section(2,'2','sec:unitbox'),"A Unit Test box",swi_man_packages('plunit.html'),packages,7360). │ │ │ -i(section(3,'2.1','sec:unitoptions'),"Test Unit options",swi_man_packages('plunit.html'),packages,14682). │ │ │ -i(/(begin_tests,1),"Start named test-unit.",swi_man_packages('plunit.html'),packages,14864). │ │ │ -i(/(begin_tests,2),"Start named test-unit with options.",swi_man_packages('plunit.html'),packages,15054). │ │ │ -i(section(3,'2.2','sec:testbody'),"Writing the test body",swi_man_packages('plunit.html'),packages,16275). │ │ │ -i(section(4,'2.2.1','sec:testdet'),"Testing deterministic predicates",swi_man_packages('plunit.html'),packages,16950). │ │ │ -i(section(4,'2.2.2','sec:testsemidet'),"Testing semi-deterministic predicates",swi_man_packages('plunit.html'),packages,18215). │ │ │ -i(section(4,'2.2.3','sec:testnondet'),"Testing non-deterministic predicates",swi_man_packages('plunit.html'),packages,18863). │ │ │ -i(section(4,'2.2.4','sec:testerror'),"Testing error conditions",swi_man_packages('plunit.html'),packages,19583). │ │ │ -i(section(4,'2.2.5','sec:testassertion'),"One body with multiple tests using assertions",swi_man_packages('plunit.html'),packages,20160). │ │ │ -i(section(2,'3','sec:testfiles'),"Using separate test files",swi_man_packages('plunit.html'),packages,22590). │ │ │ -i(section(2,'4','sec:pldoc-running'),"Running the test-suite",swi_man_packages('plunit.html'),packages,23170). │ │ │ -i(section(3,'4.1','sec:pldoc-running-repl'),"Running the test suite from Prolog",swi_man_packages('plunit.html'),packages,23341). │ │ │ -i(/(run_tests,0),"Run all test-units.",swi_man_packages('plunit.html'),packages,23748). │ │ │ -i(/(run_tests,1),"Run only the specified tests.",swi_man_packages('plunit.html'),packages,23869). │ │ │ -i(section(3,'4.2','sec:pldoc-running-cli'),"Running the test suite from the command line",swi_man_packages('plunit.html'),packages,24781). │ │ │ -i(section(2,'5','sec:state'),"Tests and production systems",swi_man_packages('plunit.html'),packages,25490). │ │ │ -i(section(2,'6','sec:options'),"Controlling the test suite",swi_man_packages('plunit.html'),packages,26026). │ │ │ -i(/(set_test_options,1),"Defined options are: load(+Load)Determines whether or not tests are loaded.",swi_man_packages('plunit.html'),packages,26205). │ │ │ -i(/(load_test_files,1),"Load .plt test-files that belong to the currently loaded sources.",swi_man_packages('plunit.html'),packages,29296). │ │ │ -i(/(running_tests,0),"Print all currently running tests to the terminal.",swi_man_packages('plunit.html'),packages,29510). │ │ │ -i(/(test_report,1),"Print report on the executed tests.",swi_man_packages('plunit.html'),packages,29812). │ │ │ -i(section(2,'7','sec:wizard'),"Auto-generating tests",swi_man_packages('plunit.html'),packages,30137). │ │ │ -i(section(2,'8','sec:porting'),"Portability of the test-suite",swi_man_packages('plunit.html'),packages,32312). │ │ │ -i(section(3,'8.1','sec:sicstus'),"PlUnit on SICStus",swi_man_packages('plunit.html'),packages,33360). │ │ │ -i(section(2,'9','sec:plunit-motivation'),"Motivation of choices",swi_man_packages('plunit.html'),packages,34660). │ │ │ +i(section(0,'0','packages/nlp.html'),"SWI-Prolog Natural Language Processing Primitives",swi_man_packages('nlp.html'),packages,2801). │ │ │ +i(section(2,'1','sec:double-metaphone'),"Double Metaphone -- Phonetic string matching",swi_man_packages('nlp.html'),packages,4455). │ │ │ +i(/(double_metaphone,2),"Same as double_metaphone/3, but only returning the primary metaphone.",swi_man_packages('nlp.html'),packages,5168). │ │ │ +i(/(double_metaphone,3),"Create metaphone and alternative metaphone from In.",swi_man_packages('nlp.html'),packages,5466). │ │ │ +i(section(3,'1.1','sec:double-metaphone-copyright'),"Origin and Copyright",swi_man_packages('nlp.html'),packages,5950). │ │ │ +i(section(2,'2','sec:porter-stem'),"Porter Stem -- Determine stem and related routines",swi_man_packages('nlp.html'),packages,6832). │ │ │ +i(/(porter_stem,2),"Determine the stem of In.",swi_man_packages('nlp.html'),packages,7356). │ │ │ +i(/(unaccent_atom,2),"If In is general ISO Latin-1 text with accents, ASCII is unified with a plain ASCII version of the string.",swi_man_packages('nlp.html'),packages,7883). │ │ │ +i(/(tokenize_atom,2),"Break the text In into words, numbers and punctuation characters.",swi_man_packages('nlp.html'),packages,8213). │ │ │ +i(/(atom_to_stem_list,2),"Combines the three above routines, returning a list holding an atom with the stem of each word encountered and numbers for encountered numbers.",swi_man_packages('nlp.html'),packages,9244). │ │ │ +i(section(3,'2.1','sec:porter-stem-copyright'),"Origin and Copyright",swi_man_packages('nlp.html'),packages,9548). │ │ │ +i(section(2,'3','sec:snowball'),"library(snowball): The Snowball multi-lingual stemmer library",swi_man_packages('nlp.html'),packages,10144). │ │ │ +i(/(snowball,3),"Apply the Snowball Algorithm on Input and unify the result (an atom) with Stem.",swi_man_packages('nlp.html'),packages,11062). │ │ │ +i(/(snowball_current_algorithm,1),"True if Algorithm is the official name of an algorithm suported by snowball/3.",swi_man_packages('nlp.html'),packages,12195). │ │ │ +i(section(2,'4','sec:isub'),"library(isub): isub: a string similarity measure",swi_man_packages('nlp.html'),packages,12605). │ │ │ +i(/(isub,4),"Similarity is a measure of the similarity/dissimilarity between Text1 and Text2.",swi_man_packages('nlp.html'),packages,13317). │ │ │ +i(section(0,'0','packages/janus.html'),"SWI-Prolog Python interface",swi_man_packages('janus.html'),packages,2779). │ │ │ +i(section(2,'1','sec:janus-intro'),"Introduction",swi_man_packages('janus.html'),packages,8477). │ │ │ +i(section(2,'2','sec:janus-data'),"Data conversion",swi_man_packages('janus.html'),packages,12018). │ │ │ +i(section(2,'3','sec:janus-examples'),"Janus by example - Prolog calling Python",swi_man_packages('janus.html'),packages,19697). │ │ │ +i(section(3,'3.1','sec:janus-spacy'),"Janus calling spaCy",swi_man_packages('janus.html'),packages,19965). │ │ │ +i(section(2,'4','sec:janus'),"library(janus): Call Python from Prolog",swi_man_packages('janus.html'),packages,23732). │ │ │ +i(/(py_version,0),"Print version info on the embedded Python installation based on Python sys.version.",swi_man_packages('janus.html'),packages,24666). │ │ │ +i(/(py_call,1),"Call Python and return the result of the called function.",swi_man_packages('janus.html'),packages,25019). │ │ │ +i(/(py_call,2),"Call Python and return the result of the called function.",swi_man_packages('janus.html'),packages,25019). │ │ │ +i(/(py_call,3),"Call Python and return the result of the called function.",swi_man_packages('janus.html'),packages,25019). │ │ │ +i(/(py_iter,2),"True when Value is returned by the Python Iterator.",swi_man_packages('janus.html'),packages,29654). │ │ │ +i(/(py_iter,3),"True when Value is returned by the Python Iterator.",swi_man_packages('janus.html'),packages,29654). │ │ │ +i(/(py_setattr,3),"Set a Python attribute on an object.",swi_man_packages('janus.html'),packages,31985). │ │ │ +i(/(py_is_object,1),"True when Term is a Python object reference.",swi_man_packages('janus.html'),packages,32643). │ │ │ +i(/(py_is_dict,1),"True if Term is a Prolog term that represents a Python dict.",swi_man_packages('janus.html'),packages,33443). │ │ │ +i(/(py_free,1),"Immediately free (decrement the reference count) for the Python object Obj.",swi_man_packages('janus.html'),packages,33942). │ │ │ +i(/(py_with_gil,1),"Run Goal as once(Goal) while holding the Phyton GIL (Global Interpreter Lock).",swi_man_packages('janus.html'),packages,35211). │ │ │ +i(/(py_gil_owner,1),"True when the Python GIL is owned by Thread.",swi_man_packages('janus.html'),packages,35802). │ │ │ +i(/(py_func,3),"Call Python Function in Module.",swi_man_packages('janus.html'),packages,36498). │ │ │ +i(/(py_func,4),"Call Python Function in Module.",swi_man_packages('janus.html'),packages,36498). │ │ │ +i(/(py_dot,3),"Call a method or access an attribute on the object ObjRef.",swi_man_packages('janus.html'),packages,37439). │ │ │ +i(/(py_dot,4),"Call a method or access an attribute on the object ObjRef.",swi_man_packages('janus.html'),packages,37439). │ │ │ +i(/(values,3),"Get the value associated with Dict at Path.",swi_man_packages('janus.html'),packages,38133). │ │ │ +i(/(keys,2),"True when Keys is a list of keys that appear in Dict.",swi_man_packages('janus.html'),packages,38597). │ │ │ +i(/(key,2),"True when Key is a key in Dict.",swi_man_packages('janus.html'),packages,38998). │ │ │ +i(/(items,2),"True when Items is a list of Key:Value that appear in Dict.",swi_man_packages('janus.html'),packages,39418). │ │ │ +i(/(py_shell,0),"Start an interactive Python REPL loop using the embedded Python interpreter.",swi_man_packages('janus.html'),packages,39828). │ │ │ +i(/(py_pp,1),"Pretty prints the Prolog translation of a Python data structure in Python syntax.",swi_man_packages('janus.html'),packages,40634). │ │ │ +i(/(py_pp,2),"Pretty prints the Prolog translation of a Python data structure in Python syntax.",swi_man_packages('janus.html'),packages,40634). │ │ │ +i(/(py_pp,3),"Pretty prints the Prolog translation of a Python data structure in Python syntax.",swi_man_packages('janus.html'),packages,40634). │ │ │ +i(/(py_object_dir,2),"Examine attributes of an object.",swi_man_packages('janus.html'),packages,41760). │ │ │ +i(/(py_object_dict,2),"Examine attributes of an object.",swi_man_packages('janus.html'),packages,41760). │ │ │ +i(/(py_obj_dir,2),"deprecatedUse py_object_dir/2 or py_object_dict/2.",swi_man_packages('janus.html'),packages,42419). │ │ │ +i(/(py_obj_dict,2),"deprecatedUse py_object_dir/2 or py_object_dict/2.",swi_man_packages('janus.html'),packages,42419). │ │ │ +i(/(py_type,2),"True when Type is the name of the type of ObjRef.",swi_man_packages('janus.html'),packages,42927). │ │ │ +i(/(py_isinstance,2),"True if ObjRef is an instance of Type or an instance of one of the sub types of Type.",swi_man_packages('janus.html'),packages,43308). │ │ │ +i(/(py_module_exists,1),"True if Module is a currently loaded Python module or it can be loaded.",swi_man_packages('janus.html'),packages,43910). │ │ │ +i(/(py_hasattr,2),"True when Name is an attribute of Module.",swi_man_packages('janus.html'),packages,44245). │ │ │ +i(/(py_import,2),"Import a Python module.",swi_man_packages('janus.html'),packages,44918). │ │ │ +i(/(py_module,2),"Load Source into the Python module Module.",swi_man_packages('janus.html'),packages,46620). │ │ │ +i(/(py_initialize,3),"Initialize and configure the embedded Python system.",swi_man_packages('janus.html'),packages,47567). │ │ │ +i(/(py_lib_dirs,1),"True when Dirs is a list of directories searched for Python modules.",swi_man_packages('janus.html'),packages,48704). │ │ │ +i(/(py_add_lib_dir,1),"Add a directory to the Python module search path.",swi_man_packages('janus.html'),packages,49087). │ │ │ +i(/(py_add_lib_dir,2),"Add a directory to the Python module search path.",swi_man_packages('janus.html'),packages,49087). │ │ │ +i(section(3,'4.1','sec:janus-python-errors'),"Handling Python errors in Prolog",swi_man_packages('janus.html'),packages,50466). │ │ │ +i(section(3,'4.2','sec:janus-data-errors'),"Calling and data translation errors",swi_man_packages('janus.html'),packages,52153). │ │ │ +i(section(3,'4.3','sec:janus-venv'),"Janus and virtual environments (venv)",swi_man_packages('janus.html'),packages,55123). │ │ │ +i(section(2,'5','sec:janus-call-prolog'),"Calling Prolog from Python",swi_man_packages('janus.html'),packages,56939). │ │ │ +i(section(3,'5.1','sec:janus-class-query'),"Janus iterator query",swi_man_packages('janus.html'),packages,74729). │ │ │ +i(section(3,'5.2','sec:janus-class-apply'),"Janus iterator apply",swi_man_packages('janus.html'),packages,77368). │ │ │ +i(section(3,'5.3','sec:janus-locals-and-globals'),"Janus access to Python locals and globals",swi_man_packages('janus.html'),packages,79350). │ │ │ +i(section(3,'5.4','sec:janus-truth'),"Janus and Prolog truth",swi_man_packages('janus.html'),packages,80765). │ │ │ +i(section(4,'5.4.1','sec:janus-class-undefined'),"Janus classed Undefined and TruthVal",swi_man_packages('janus.html'),packages,82249). │ │ │ +i(section(3,'5.5','sec:janus-class-term'),"Janus class Term",swi_man_packages('janus.html'),packages,86140). │ │ │ +i(section(3,'5.6','sec:janus-class-prolog-error'),"Janus class PrologError",swi_man_packages('janus.html'),packages,87803). │ │ │ +i(section(2,'6','sec:janus-threads'),"Janus and threads",swi_man_packages('janus.html'),packages,90130). │ │ │ +i(section(3,'6.1','sec:janus-thread-call-prolog'),"Calling Prolog from a Python thread",swi_man_packages('janus.html'),packages,91687). │ │ │ +i(section(3,'6.2','sec:janus-deadlocks'),"Python and Prolog deadlocks",swi_man_packages('janus.html'),packages,94033). │ │ │ +i(section(2,'7','sec:janus-signals'),"Janus and signals",swi_man_packages('janus.html'),packages,95086). │ │ │ +i(section(2,'8','sec:janus-version'),"Janus versions",swi_man_packages('janus.html'),packages,96998). │ │ │ +i(section(2,'9','sec:janus-python-package'),"Janus as a Python package",swi_man_packages('janus.html'),packages,97882). │ │ │ +i(section(2,'10','sec:janus-prolog-python'),"Prolog and Python",swi_man_packages('janus.html'),packages,99582). │ │ │ +i(section(2,'11','sec:janus-performance'),"Janus performance evaluation",swi_man_packages('janus.html'),packages,99946). │ │ │ +i(section(2,'12','sec:janus-vs-c'),"Python or C/C++ for accessing resources?",swi_man_packages('janus.html'),packages,101226). │ │ │ +i(section(2,'13','sec:janus-platforms'),"Janus platforms notes",swi_man_packages('janus.html'),packages,103181). │ │ │ +i(section(3,'13.1','sec:janus-on-windows'),"Janus on Windows",swi_man_packages('janus.html'),packages,103762). │ │ │ +i(section(3,'13.2','sec:janus-on-linux'),"Janus on Linux",swi_man_packages('janus.html'),packages,104947). │ │ │ +i(section(3,'13.3','sec:janus-on-macos'),"Janus on MacOS",swi_man_packages('janus.html'),packages,105625). │ │ │ +i(section(2,'14','sec:janus-vs-xsb'),"Compatibility to the XSB Janus implementation",swi_man_packages('janus.html'),packages,106418). │ │ │ +i(section(3,'14.1','sec:janus-portable-code'),"Writing portable Janus modules",swi_man_packages('janus.html'),packages,110530). │ │ │ +i(section(2,'15','sec:janus-status'),"Status of Janus",swi_man_packages('janus.html'),packages,110950). │ │ │ i(section(0,'0','packages/pldoc.html'),"SWI-Prolog Source Documentation Version 2",swi_man_packages('pldoc.html'),packages,2793). │ │ │ i(section(2,'1','sec:pldoc-intro'),"Introduction",swi_man_packages('pldoc.html'),packages,8247). │ │ │ i(section(2,'2','sec:pldoc-overview'),"Overview",swi_man_packages('pldoc.html'),packages,9507). │ │ │ i(section(2,'3','sec:pldoc-comments'),"Structured comments",swi_man_packages('pldoc.html'),packages,10733). │ │ │ i(section(2,'4','sec:sectioncomments'),"File (module) comments",swi_man_packages('pldoc.html'),packages,12929). │ │ │ i(section(2,'5','sec:modes'),"Type, mode and determinism declaration headers",swi_man_packages('pldoc.html'),packages,14052). │ │ │ i(section(2,'6','sec:tags'),"Tags: @see, etc.",swi_man_packages('pldoc.html'),packages,21220). │ │ │ @@ -3620,14 +3621,29 @@ │ │ │ i(section(4,'10.5.1','sec:pldoc-latex-predicates'),"Predicate reference for the LaTeX backend",swi_man_packages('pldoc.html'),packages,55000). │ │ │ i(/(doc_latex,3),"Process one or more objects, writing the LaTeX output to OutFile.",swi_man_packages('pldoc.html'),packages,55658). │ │ │ i(/(latex_for_file,3),"Generate a LaTeX description of all commented predicates in File, writing the LaTeX text to the stream Out.",swi_man_packages('pldoc.html'),packages,57829). │ │ │ i(/(latex_for_wiki_file,3),"Write a LaTeX translation of a Wiki file to the steam Out.",swi_man_packages('pldoc.html'),packages,58337). │ │ │ i(/(latex_for_predicates,3),"Generate LaTeX for a list of predicate indicators.",swi_man_packages('pldoc.html'),packages,58795). │ │ │ i(section(2,'11','sec:motivation'),"Motivation of choices",swi_man_packages('pldoc.html'),packages,59285). │ │ │ i(section(2,'12','sec:pldoc-compatibility'),"Compatibility and standards",swi_man_packages('pldoc.html'),packages,63436). │ │ │ +i(section(0,'0','packages/mqi.html'),"mqi -- Python and Other Programming Languge Integration for SWI Prolog",swi_man_packages('mqi.html'),packages,2823). │ │ │ +i(section(2,'1','sec:mqi-overview'),"Machine Query Interface Overview",swi_man_packages('mqi.html'),packages,5429). │ │ │ +i(section(3,'1.1','sec:mqi-python-installation'),"Installation Steps for Python",swi_man_packages('mqi.html'),packages,8836). │ │ │ +i(section(3,'1.2','sec:mqi-language-installation'),"Installation Steps for Other Languages",swi_man_packages('mqi.html'),packages,9494). │ │ │ +i(section(3,'1.3','sec:mqi-toplevel-differences'),"Prolog Language Differences from the Top Level",swi_man_packages('mqi.html'),packages,10479). │ │ │ +i(section(3,'1.4','sec:mqi-embedded-mode'),"Embedded Mode: Integrating the Machine Query Interface Into a New Programming Language",swi_man_packages('mqi.html'),packages,14467). │ │ │ +i(section(3,'1.5','sec:mqi-standalone-mode'),"Standalone Mode: Debugging Prolog Code Used in an Application",swi_man_packages('mqi.html'),packages,22440). │ │ │ +i(section(3,'1.6','sec:mqi-messages'),"Machine Query Interface Messages",swi_man_packages('mqi.html'),packages,25356). │ │ │ +i(section(4,'1.6.1','sec:mqi-message-format'),"Machine Query Interface Message Format",swi_man_packages('mqi.html'),packages,26564). │ │ │ +i(section(4,'1.6.2','sec:mqi-messages'),"Machine Query Interface Messages Reference",swi_man_packages('mqi.html'),packages,28916). │ │ │ +i(section(2,'2','sec:mqi'),"library(mqi)",swi_man_packages('mqi.html'),packages,42484). │ │ │ +i(/(mqi_start,1),"Starts a Prolog Machine Query Interface ('MQI’) using Options.",swi_man_packages('mqi.html'),packages,42643). │ │ │ +i(/(mqi_version,2),"Provides the major and minor version number of the protocol used by the MQI.",swi_man_packages('mqi.html'),packages,50693). │ │ │ +i(/(mqi_start,0),"Main entry point for running the Machine Query Interface in \"Embedded Mode\" (section 1.4) and designed to be called from the command line.",swi_man_packages('mqi.html'),packages,52464). │ │ │ +i(/(mqi_stop,1),"If Server_Thread_ID is a variable, stops all Machine Query Interfaces and associated threads.",swi_man_packages('mqi.html'),packages,54088). │ │ │ i(section(0,'0','packages/pengines.html'),"Pengines: Web Logic Programming Made Easy",swi_man_packages('pengines.html'),packages,2793). │ │ │ i(section(2,'1','sec:pengine-overview'),"An overview of Pengines",swi_man_packages('pengines.html'),packages,5099). │ │ │ i(section(3,'1.1','sec:pengine-references'),"Pengine references",swi_man_packages('pengines.html'),packages,10589). │ │ │ i(section(3,'1.2','sec:pengine-examples'),"Pengine by examples",swi_man_packages('pengines.html'),packages,11619). │ │ │ i(section(3,'1.3','sec:pengine-server-code'),"Making predicates available to clients",swi_man_packages('pengines.html'),packages,15411). │ │ │ i(section(3,'1.4','sec:prolog-canonical-json'),"Mapping Prolog terms into JSON",swi_man_packages('pengines.html'),packages,17329). │ │ │ i(section(3,'1.5','sec:pengine-settings'),"Pengine settings",swi_man_packages('pengines.html'),packages,18959). │ │ │ @@ -3666,40 +3682,67 @@ │ │ │ i(/(authentication_hook,3),"This hook is called from the =/pengine/create= HTTP handler to discover whether the server is accessed by an authorized user.",swi_man_packages('pengines.html'),packages,44533). │ │ │ i(/(pengine_user,1),"True when the pengine was create by an HTTP request that authorized User.",swi_man_packages('pengines.html'),packages,45698). │ │ │ i(/(pengine_event,1),"Examines the pengine's event queue and if necessary blocks execution until a term that unifies to Term arrives in the queue.",swi_man_packages('pengines.html'),packages,46147). │ │ │ i(/(pengine_event,2),"Examines the pengine's event queue and if necessary blocks execution until a term that unifies to Term arrives in the queue.",swi_man_packages('pengines.html'),packages,46147). │ │ │ i(section(3,'2.2','sec:termtojson'),"library(term_to_json)",swi_man_packages('pengines.html'),packages,47169). │ │ │ i(/(term_to_json,3),"Convert any general Prolog term into a JSON term.",swi_man_packages('pengines.html'),packages,47355). │ │ │ i(/(term_to_json,2),"Convert any general Prolog term into a JSON term.",swi_man_packages('pengines.html'),packages,47355). │ │ │ -i(section(0,'0','packages/stomp.html'),"STOMP -- a SWI-Prolog STOMP client",swi_man_packages('stomp.html'),packages,2786). │ │ │ -i(section(2,'1','sec:stomp'),"library(stomp): STOMP client.",swi_man_packages('stomp.html'),packages,3919). │ │ │ -i(section(3,'1.1','sec:stomp-threading'),"Threading",swi_man_packages('stomp.html'),packages,5229). │ │ │ -i(section(3,'1.2','sec:stomp-reconnecting'),"Reconnecting",swi_man_packages('stomp.html'),packages,6178). │ │ │ -i(/(stomp_connection,5),"Create a connection reference.",swi_man_packages('stomp.html'),packages,6809). │ │ │ -i(/(stomp_connection,6),"Create a connection reference.",swi_man_packages('stomp.html'),packages,6809). │ │ │ -i(/(stomp_connection_property,2),"True when Property, is a property of Connection.",swi_man_packages('stomp.html'),packages,10316). │ │ │ -i(/(stomp_destroy_connection,1),"Destroy a connection.",swi_man_packages('stomp.html'),packages,11441). │ │ │ -i(/(stomp_setup,2),"Set up the actual socket connection and start receiving thread.",swi_man_packages('stomp.html'),packages,11723). │ │ │ -i(/(stomp_teardown,1),"Tear down the socket connection, stop receiving thread and heartbeat thread (if applicable).",swi_man_packages('stomp.html'),packages,12434). │ │ │ -i(/(stomp_reconnect,1),"Teardown the connection and try to reconnect.",swi_man_packages('stomp.html'),packages,12936). │ │ │ -i(/(stomp_connect,1),"Setup the connection.",swi_man_packages('stomp.html'),packages,13154). │ │ │ -i(/(stomp_connect,2),"Setup the connection.",swi_man_packages('stomp.html'),packages,13154). │ │ │ -i(/(stomp_send,4),"Send a SEND frame.",swi_man_packages('stomp.html'),packages,14331). │ │ │ -i(/(stomp_send_json,4),"Send a SEND frame.",swi_man_packages('stomp.html'),packages,14914). │ │ │ -i(/(stomp_subscribe,4),"Send a SUBSCRIBE frame.",swi_man_packages('stomp.html'),packages,15587). │ │ │ -i(/(stomp_unsubscribe,2),"Send an UNSUBSCRIBE frame.",swi_man_packages('stomp.html'),packages,16046). │ │ │ -i(/(stomp_ack,3),"Send an ACK frame.",swi_man_packages('stomp.html'),packages,16492). │ │ │ -i(/(stomp_nack,3),"Send a NACK frame.",swi_man_packages('stomp.html'),packages,17044). │ │ │ -i(/(stomp_ack,2),"Reply with an ACK or NACK based on the received message header.",swi_man_packages('stomp.html'),packages,17602). │ │ │ -i(/(stomp_nack,2),"Reply with an ACK or NACK based on the received message header.",swi_man_packages('stomp.html'),packages,17602). │ │ │ -i(/(stomp_begin,2),"Send a BEGIN frame.",swi_man_packages('stomp.html'),packages,18217). │ │ │ -i(/(stomp_commit,2),"Send a COMMIT frame.",swi_man_packages('stomp.html'),packages,18578). │ │ │ -i(/(stomp_abort,2),"Send a ABORT frame.",swi_man_packages('stomp.html'),packages,19007). │ │ │ -i(/(stomp_transaction,2),"Run Goal as once/1, tagging all SEND messages inside the transaction with the transaction id.",swi_man_packages('stomp.html'),packages,19431). │ │ │ -i(/(stomp_disconnect,2),"Send a DISCONNECT frame.",swi_man_packages('stomp.html'),packages,20005). │ │ │ +i(section(0,'0','packages/bdb4pl.html'),"SWI-Prolog BerkeleyDB interface",swi_man_packages('bdb4pl.html'),packages,2782). │ │ │ +i(section(2,'1','sec:db-intro'),"Introduction",swi_man_packages('bdb4pl.html'),packages,4169). │ │ │ +i(section(3,'1.1','sec:db-about'),"About this manual",swi_man_packages('bdb4pl.html'),packages,5654). │ │ │ +i(section(2,'2','sec:bdb'),"library(bdb): Berkeley DB interface",swi_man_packages('bdb4pl.html'),packages,6159). │ │ │ +i(/(bdb_init,1),"Initialise a DB environment.",swi_man_packages('bdb4pl.html'),packages,8836). │ │ │ +i(/(bdb_init,2),"Initialise a DB environment.",swi_man_packages('bdb4pl.html'),packages,8836). │ │ │ +i(/(bdb_close_environment,1),"Close a database environment that was explicitly created using bdb_init/2.",swi_man_packages('bdb4pl.html'),packages,14337). │ │ │ +i(/(bdb_current_environment,1),"True when Environment is a currently known environment.",swi_man_packages('bdb4pl.html'),packages,14636). │ │ │ +i(/(bdb_environment_property,2),"True when Property is a property of Environment.",swi_man_packages('bdb4pl.html'),packages,14895). │ │ │ +i(/(bdb_open,4),"Open File holding a database.",swi_man_packages('bdb4pl.html'),packages,15614). │ │ │ +i(/(bdb_close,1),"Close BerkeleyDB database indicated by DB.",swi_man_packages('bdb4pl.html'),packages,20488). │ │ │ +i(/(bdb_put,3),"Add a new key-value pair to the database.",swi_man_packages('bdb4pl.html'),packages,20854). │ │ │ +i(/(bdb_del,3),"Delete the first matching key-value pair from the database.",swi_man_packages('bdb4pl.html'),packages,21192). │ │ │ +i(/(bdb_delall,3),"Delete all matching key-value pairs from the database.",swi_man_packages('bdb4pl.html'),packages,21706). │ │ │ +i(/(bdb_get,3),"Query the database.",swi_man_packages('bdb4pl.html'),packages,22009). │ │ │ +i(/(bdb_enum,3),"Enumerate the whole database, unifying the key-value pairs to Key and Value.",swi_man_packages('bdb4pl.html'),packages,22918). │ │ │ +i(/(bdb_getall,3),"Get all values associated with Key.",swi_man_packages('bdb4pl.html'),packages,23350). │ │ │ +i(/(bdb_current,1),"True when DB is a handle to a currently open database.",swi_man_packages('bdb4pl.html'),packages,23648). │ │ │ +i(/(bdb_closeall,0),"Close all currently open databases and environments.",swi_man_packages('bdb4pl.html'),packages,23873). │ │ │ +i(/(bdb_transaction,1),"Start a transaction, execute Goal and terminate the transaction.",swi_man_packages('bdb4pl.html'),packages,24197). │ │ │ +i(/(bdb_transaction,2),"Start a transaction, execute Goal and terminate the transaction.",swi_man_packages('bdb4pl.html'),packages,24197). │ │ │ +i(/(bdb_version,1),"True when Version identifies the database version.",swi_man_packages('bdb4pl.html'),packages,25928). │ │ │ +i(section(2,'3','sec:db-copyright'),"Copyright and license",swi_man_packages('bdb4pl.html'),packages,26314). │ │ │ +i(section(0,'0','packages/table.html'),"Managing external tables for SWI-Prolog",swi_man_packages('table.html'),packages,2790). │ │ │ +i(section(2,'1','sec:table-intro'),"Introduction",swi_man_packages('table.html'),packages,5803). │ │ │ +i(section(2,'2','sec:table-external'),"Managing external tables",swi_man_packages('table.html'),packages,6849). │ │ │ +i(section(3,'2.1','sec:table-create-destroy'),"Creating and destroying tables",swi_man_packages('table.html'),packages,7024). │ │ │ +i(/(new_table,4),"Create a description of a new table, stored in File.",swi_man_packages('table.html'),packages,7357). │ │ │ +i(/(open_table,1),"Open the table.",swi_man_packages('table.html'),packages,13269). │ │ │ +i(/(close_table,1),"Close the file and other system resources, but do not remove the description of the table, so it can be re-opened later.",swi_man_packages('table.html'),packages,13743). │ │ │ +i(/(free_table,1),"Close and remove the handle.",swi_man_packages('table.html'),packages,13990). │ │ │ +i(section(3,'2.2','sec:table-access'),"Accessing a table",swi_man_packages('table.html'),packages,14271). │ │ │ +i(section(4,'2.2.1','sec:table-find-record-location'),"Finding record locations in a table",swi_man_packages('table.html'),packages,14508). │ │ │ +i(/(get_table_attribute,3),"Fetch attributes of the table.",swi_man_packages('table.html'),packages,14940). │ │ │ +i(/(table_window,3),"If only part of the file represents the table, this call may be used to define a window on the file.",swi_man_packages('table.html'),packages,16235). │ │ │ +i(/(table_start_of_record,4),"Enumerates (on backtracking) the start of records in the table in the region [From, To).",swi_man_packages('table.html'),packages,16676). │ │ │ +i(/(table_previous_record,3),"If Here is the start of a record, find the start of the record before it.",swi_man_packages('table.html'),packages,17095). │ │ │ +i(section(4,'2.2.2','sec:table-read-record'),"Reading records",swi_man_packages('table.html'),packages,17464). │ │ │ +i(/(read_table_record,4),"Read a record from the table.",swi_man_packages('table.html'),packages,17992). │ │ │ +i(/(read_table_fields,4),"As read_table_record/4, but Fields is a list of terms +Name(-Value), and the Values will be unified with the values of the specified field.",swi_man_packages('table.html'),packages,18853). │ │ │ +i(/(read_table_record_data,4),"Similar to read_table_record/4, but unifies record with a Prolog string containing the data of the record unparsed.",swi_man_packages('table.html'),packages,19284). │ │ │ +i(section(4,'2.2.3','sec:table-search'),"Searching the table",swi_man_packages('table.html'),packages,19752). │ │ │ +i(/(in_table,3),"Searches the table for records matching Fields.",swi_man_packages('table.html'),packages,19942). │ │ │ +i(section(4,'2.2.4','sec:table-misc'),"Miscellaneous",swi_man_packages('table.html'),packages,23962). │ │ │ +i(/(table_version,2),"Unify Version with an atom identifying the version of this package, and CompileDate with the date this package was compiled.",swi_man_packages('table.html'),packages,24141). │ │ │ +i(section(2,'3','sec:table-ordering'),"Flexible ordering and equivalence based on character table",swi_man_packages('table.html'),packages,24446). │ │ │ +i(/(new_order_table,2),"Create a new, or replace the order-table with the given name (an atom).",swi_man_packages('table.html'),packages,26393). │ │ │ +i(/(order_table_mapping,3),"Read the current mapping.",swi_man_packages('table.html'),packages,27640). │ │ │ +i(/(compare_strings,4),"Compare two strings using the named Table.",swi_man_packages('table.html'),packages,27936). │ │ │ +i(/(prefix_string,3),"Succeeds if Prefix is a prefix of String using the named Table.",swi_man_packages('table.html'),packages,28307). │ │ │ +i(/(prefix_string,4),"Succeeds if Prefix is a prefix of String using the named Table, and Rest is unified with the remainder of String that is not matched.",swi_man_packages('table.html'),packages,28553). │ │ │ +i(/(sub_string,3),"Succeeds if Sub is a substring of String using the named Table.",swi_man_packages('table.html'),packages,29123). │ │ │ +i(section(2,'4','sec:example'),"Example: accessing the Unix passwd file",swi_man_packages('table.html'),packages,29369). │ │ │ i(section(0,'0','packages/redis.html'),"Redis -- a SWI-Prolog client for redis",swi_man_packages('redis.html'),packages,2790). │ │ │ i(section(2,'1','sec:redis-overview'),"About the SWI-Prolog Redis client",swi_man_packages('redis.html'),packages,4779). │ │ │ i(section(3,'1.1','sec:redis-threads'),"Redis and threads",swi_man_packages('redis.html'),packages,5657). │ │ │ i(section(3,'1.2','sec:redis-tls'),"Redis TLS support",swi_man_packages('redis.html'),packages,6635). │ │ │ i(section(3,'1.3','sec:redis-sentinels'),"Using Redis sentinels",swi_man_packages('redis.html'),packages,7506). │ │ │ i(section(3,'1.4','sec:redis-versions'),"About versions",swi_man_packages('redis.html'),packages,9144). │ │ │ i(section(3,'1.5','sec:redis-brokering'),"Redis as a message brokering system",swi_man_packages('redis.html'),packages,10341). │ │ │ @@ -3737,60 +3780,42 @@ │ │ │ i(section(2,'3','sec:redisstreams'),"library(redis_streams): Using Redis streams",swi_man_packages('redis.html'),packages,37764). │ │ │ i(/(xstream_set,3),"Set an option on for Key on Redis.",swi_man_packages('redis.html'),packages,39275). │ │ │ i(/(xadd,4),"Add a message to a the stream Key on Redis.",swi_man_packages('redis.html'),packages,39875). │ │ │ i(/(xlisten,3),"Listen using XREAD on one or more Streams on the server Redis.",swi_man_packages('redis.html'),packages,40511). │ │ │ i(/(xlisten_group,5),"Listen as Consumer to Group.",swi_man_packages('redis.html'),packages,42732). │ │ │ i(/(xconsumer_stop,1),"May be called from a consumer listener to stop the consumer.",swi_man_packages('redis.html'),packages,44743). │ │ │ i(/(xhook,2),"This multifile predicate is called on certain stream events.",swi_man_packages('redis.html'),packages,45085). │ │ │ -i(section(0,'0','packages/paxos.html'),"Paxos -- a SWI-Prolog replicating key-value store",swi_man_packages('paxos.html'),packages,2801). │ │ │ -i(section(2,'1','sec:paxos'),"library(paxos): A Replicated Data Store",swi_man_packages('paxos.html'),packages,3670). │ │ │ -i(/(paxos_initialize,1),"Initialize this Prolog process as a paxos node.",swi_man_packages('paxos.html'),packages,7687). │ │ │ -i(/(paxos_property,1),"True if Property is a current property for the paxos network.",swi_man_packages('paxos.html'),packages,8757). │ │ │ -i(/(paxos_set,1),"Equivalent to paxos_key(Term,Key), pasox_set(Key,Term).",swi_man_packages('paxos.html'),packages,9087). │ │ │ -i(/(paxos_set,2),"negotiates to have Key-Value recorded in the ledger for each of the quorum's members.",swi_man_packages('paxos.html'),packages,9487). │ │ │ -i(/(paxos_set,3),"negotiates to have Key-Value recorded in the ledger for each of the quorum's members.",swi_man_packages('paxos.html'),packages,9487). │ │ │ -i(/(paxos_quorum_ask,4),"Ask the paxos forum for their opinion.",swi_man_packages('paxos.html'),packages,11488). │ │ │ -i(/(paxos_get,1),"Equivalent to paxos_key(Term,Key), pasox_get(Key,Term).",swi_man_packages('paxos.html'),packages,12477). │ │ │ -i(/(paxos_get,2),"unifies Term with the entry retrieved from the Paxon's ledger.",swi_man_packages('paxos.html'),packages,12870). │ │ │ -i(/(paxos_get,3),"unifies Term with the entry retrieved from the Paxon's ledger.",swi_man_packages('paxos.html'),packages,12870). │ │ │ -i(/(paxos_replicate_key,3),"Replicate a Key to Nodes.",swi_man_packages('paxos.html'),packages,14251). │ │ │ -i(/(paxos_on_change,2),"Executes the specified Goal when Key changes.",swi_man_packages('paxos.html'),packages,14782). │ │ │ -i(/(paxos_on_change,3),"Executes the specified Goal when Key changes.",swi_man_packages('paxos.html'),packages,14782). │ │ │ -i(/(paxos_ledger_hook,5),"Hook called for all operations on the ledger.",swi_man_packages('paxos.html'),packages,15946). │ │ │ -i(section(0,'0','packages/nlp.html'),"SWI-Prolog Natural Language Processing Primitives",swi_man_packages('nlp.html'),packages,2801). │ │ │ -i(section(2,'1','sec:double-metaphone'),"Double Metaphone -- Phonetic string matching",swi_man_packages('nlp.html'),packages,4455). │ │ │ -i(/(double_metaphone,2),"Same as double_metaphone/3, but only returning the primary metaphone.",swi_man_packages('nlp.html'),packages,5168). │ │ │ -i(/(double_metaphone,3),"Create metaphone and alternative metaphone from In.",swi_man_packages('nlp.html'),packages,5466). │ │ │ -i(section(3,'1.1','sec:double-metaphone-copyright'),"Origin and Copyright",swi_man_packages('nlp.html'),packages,5950). │ │ │ -i(section(2,'2','sec:porter-stem'),"Porter Stem -- Determine stem and related routines",swi_man_packages('nlp.html'),packages,6832). │ │ │ -i(/(porter_stem,2),"Determine the stem of In.",swi_man_packages('nlp.html'),packages,7356). │ │ │ -i(/(unaccent_atom,2),"If In is general ISO Latin-1 text with accents, ASCII is unified with a plain ASCII version of the string.",swi_man_packages('nlp.html'),packages,7883). │ │ │ -i(/(tokenize_atom,2),"Break the text In into words, numbers and punctuation characters.",swi_man_packages('nlp.html'),packages,8213). │ │ │ -i(/(atom_to_stem_list,2),"Combines the three above routines, returning a list holding an atom with the stem of each word encountered and numbers for encountered numbers.",swi_man_packages('nlp.html'),packages,9244). │ │ │ -i(section(3,'2.1','sec:porter-stem-copyright'),"Origin and Copyright",swi_man_packages('nlp.html'),packages,9548). │ │ │ -i(section(2,'3','sec:snowball'),"library(snowball): The Snowball multi-lingual stemmer library",swi_man_packages('nlp.html'),packages,10144). │ │ │ -i(/(snowball,3),"Apply the Snowball Algorithm on Input and unify the result (an atom) with Stem.",swi_man_packages('nlp.html'),packages,11062). │ │ │ -i(/(snowball_current_algorithm,1),"True if Algorithm is the official name of an algorithm suported by snowball/3.",swi_man_packages('nlp.html'),packages,12195). │ │ │ -i(section(2,'4','sec:isub'),"library(isub): isub: a string similarity measure",swi_man_packages('nlp.html'),packages,12605). │ │ │ -i(/(isub,4),"Similarity is a measure of the similarity/dissimilarity between Text1 and Text2.",swi_man_packages('nlp.html'),packages,13317). │ │ │ -i(section(0,'0','packages/mqi.html'),"mqi -- Python and Other Programming Languge Integration for SWI Prolog",swi_man_packages('mqi.html'),packages,2823). │ │ │ -i(section(2,'1','sec:mqi-overview'),"Machine Query Interface Overview",swi_man_packages('mqi.html'),packages,5429). │ │ │ -i(section(3,'1.1','sec:mqi-python-installation'),"Installation Steps for Python",swi_man_packages('mqi.html'),packages,8836). │ │ │ -i(section(3,'1.2','sec:mqi-language-installation'),"Installation Steps for Other Languages",swi_man_packages('mqi.html'),packages,9494). │ │ │ -i(section(3,'1.3','sec:mqi-toplevel-differences'),"Prolog Language Differences from the Top Level",swi_man_packages('mqi.html'),packages,10479). │ │ │ -i(section(3,'1.4','sec:mqi-embedded-mode'),"Embedded Mode: Integrating the Machine Query Interface Into a New Programming Language",swi_man_packages('mqi.html'),packages,14467). │ │ │ -i(section(3,'1.5','sec:mqi-standalone-mode'),"Standalone Mode: Debugging Prolog Code Used in an Application",swi_man_packages('mqi.html'),packages,22440). │ │ │ -i(section(3,'1.6','sec:mqi-messages'),"Machine Query Interface Messages",swi_man_packages('mqi.html'),packages,25356). │ │ │ -i(section(4,'1.6.1','sec:mqi-message-format'),"Machine Query Interface Message Format",swi_man_packages('mqi.html'),packages,26564). │ │ │ -i(section(4,'1.6.2','sec:mqi-messages'),"Machine Query Interface Messages Reference",swi_man_packages('mqi.html'),packages,28916). │ │ │ -i(section(2,'2','sec:mqi'),"library(mqi)",swi_man_packages('mqi.html'),packages,42484). │ │ │ -i(/(mqi_start,1),"Starts a Prolog Machine Query Interface ('MQI’) using Options.",swi_man_packages('mqi.html'),packages,42643). │ │ │ -i(/(mqi_version,2),"Provides the major and minor version number of the protocol used by the MQI.",swi_man_packages('mqi.html'),packages,50693). │ │ │ -i(/(mqi_start,0),"Main entry point for running the Machine Query Interface in \"Embedded Mode\" (section 1.4) and designed to be called from the command line.",swi_man_packages('mqi.html'),packages,52464). │ │ │ -i(/(mqi_stop,1),"If Server_Thread_ID is a variable, stops all Machine Query Interfaces and associated threads.",swi_man_packages('mqi.html'),packages,54088). │ │ │ +i(section(0,'0','packages/plunit.html'),"Prolog Unit Tests",swi_man_packages('plunit.html'),packages,2769). │ │ │ +i(section(2,'1','sec:plunit-intro'),"Introduction",swi_man_packages('plunit.html'),packages,6420). │ │ │ +i(section(2,'2','sec:unitbox'),"A Unit Test box",swi_man_packages('plunit.html'),packages,7360). │ │ │ +i(section(3,'2.1','sec:unitoptions'),"Test Unit options",swi_man_packages('plunit.html'),packages,14682). │ │ │ +i(/(begin_tests,1),"Start named test-unit.",swi_man_packages('plunit.html'),packages,14864). │ │ │ +i(/(begin_tests,2),"Start named test-unit with options.",swi_man_packages('plunit.html'),packages,15054). │ │ │ +i(section(3,'2.2','sec:testbody'),"Writing the test body",swi_man_packages('plunit.html'),packages,16275). │ │ │ +i(section(4,'2.2.1','sec:testdet'),"Testing deterministic predicates",swi_man_packages('plunit.html'),packages,16950). │ │ │ +i(section(4,'2.2.2','sec:testsemidet'),"Testing semi-deterministic predicates",swi_man_packages('plunit.html'),packages,18215). │ │ │ +i(section(4,'2.2.3','sec:testnondet'),"Testing non-deterministic predicates",swi_man_packages('plunit.html'),packages,18863). │ │ │ +i(section(4,'2.2.4','sec:testerror'),"Testing error conditions",swi_man_packages('plunit.html'),packages,19583). │ │ │ +i(section(4,'2.2.5','sec:testassertion'),"One body with multiple tests using assertions",swi_man_packages('plunit.html'),packages,20160). │ │ │ +i(section(2,'3','sec:testfiles'),"Using separate test files",swi_man_packages('plunit.html'),packages,22590). │ │ │ +i(section(2,'4','sec:pldoc-running'),"Running the test-suite",swi_man_packages('plunit.html'),packages,23170). │ │ │ +i(section(3,'4.1','sec:pldoc-running-repl'),"Running the test suite from Prolog",swi_man_packages('plunit.html'),packages,23341). │ │ │ +i(/(run_tests,0),"Run all test-units.",swi_man_packages('plunit.html'),packages,23748). │ │ │ +i(/(run_tests,1),"Run only the specified tests.",swi_man_packages('plunit.html'),packages,23869). │ │ │ +i(section(3,'4.2','sec:pldoc-running-cli'),"Running the test suite from the command line",swi_man_packages('plunit.html'),packages,24781). │ │ │ +i(section(2,'5','sec:state'),"Tests and production systems",swi_man_packages('plunit.html'),packages,25490). │ │ │ +i(section(2,'6','sec:options'),"Controlling the test suite",swi_man_packages('plunit.html'),packages,26026). │ │ │ +i(/(set_test_options,1),"Defined options are: load(+Load)Determines whether or not tests are loaded.",swi_man_packages('plunit.html'),packages,26205). │ │ │ +i(/(load_test_files,1),"Load .plt test-files that belong to the currently loaded sources.",swi_man_packages('plunit.html'),packages,29296). │ │ │ +i(/(running_tests,0),"Print all currently running tests to the terminal.",swi_man_packages('plunit.html'),packages,29510). │ │ │ +i(/(test_report,1),"Print report on the executed tests.",swi_man_packages('plunit.html'),packages,29812). │ │ │ +i(section(2,'7','sec:wizard'),"Auto-generating tests",swi_man_packages('plunit.html'),packages,30137). │ │ │ +i(section(2,'8','sec:porting'),"Portability of the test-suite",swi_man_packages('plunit.html'),packages,32312). │ │ │ +i(section(3,'8.1','sec:sicstus'),"PlUnit on SICStus",swi_man_packages('plunit.html'),packages,33360). │ │ │ +i(section(2,'9','sec:plunit-motivation'),"Motivation of choices",swi_man_packages('plunit.html'),packages,34660). │ │ │ i(section(0,'0','packages/http.html'),"SWI-Prolog HTTP support",swi_man_packages('http.html'),packages,2775). │ │ │ i(section(2,'1','sec:http-intro'),"Introduction",swi_man_packages('http.html'),packages,14514). │ │ │ i(section(2,'2','sec:http-clients'),"The HTTP client libraries",swi_man_packages('http.html'),packages,16625). │ │ │ i(section(3,'2.1','sec:httpopen'),"library(http/http_open): HTTP client library",swi_man_packages('http.html'),packages,18319). │ │ │ i(/(http_open,3),"Open the data at the HTTP server as a Prolog stream.",swi_man_packages('http.html'),packages,22912). │ │ │ i(/(map_method,2),"Support additional METHOD keywords.",swi_man_packages('http.html'),packages,34006). │ │ │ i(:(http,/(disable_encoding_filter,1)),"Do not use the Content-encoding as Transfer-encoding encoding for specific values of ContentType.",swi_man_packages('http.html'),packages,34304). │ │ │ @@ -4092,93 +4117,40 @@ │ │ │ i(/(reply_json_dict,2),"As reply_json/1 and reply_json/2, but assumes the new dict based data representation.",swi_man_packages('http.html'),packages,336910). │ │ │ i(section(2,'9','sec:http-mime'),"MIME support",swi_man_packages('http.html'),packages,337667). │ │ │ i(section(3,'9.1','sec:mimepack'),"library(http/mimepack): Create a MIME message",swi_man_packages('http.html'),packages,337820). │ │ │ i(/(mime_pack,3),"Pack a number of inputs into a MIME package using a specified or generated boundary.",swi_man_packages('http.html'),packages,338551). │ │ │ i(section(2,'10','sec:http-security'),"Security",swi_man_packages('http.html'),packages,342121). │ │ │ i(section(2,'11','sec:http-tips-and-tricks'),"Tips and tricks",swi_man_packages('http.html'),packages,345141). │ │ │ i(section(2,'12','sec:http-status'),"Status",swi_man_packages('http.html'),packages,346995). │ │ │ -i(section(0,'0','packages/pl2cpp.html'),"A C++ interface to SWI-Prolog",swi_man_packages('pl2cpp.html'),packages,2781). │ │ │ -i(section(1,'1','sec:cpp2'),"A C++ interface to SWI-Prolog",swi_man_packages('pl2cpp.html'),packages,16239). │ │ │ -i(section(2,'1.1','sec:summary-cpp2-changes'),"Summary of changes between Versions 1 and 2",swi_man_packages('pl2cpp.html'),packages,16399). │ │ │ -i(section(2,'1.2','sec:cpp2-foreign-example'),"A simple example",swi_man_packages('pl2cpp.html'),packages,26770). │ │ │ -i(section(2,'1.3','sec:cpp2-sample-code'),"Sample code",swi_man_packages('pl2cpp.html'),packages,27793). │ │ │ -i(section(2,'1.4','sec:cpp2-intro'),"Introduction",swi_man_packages('pl2cpp.html'),packages,30665). │ │ │ -i(section(3,'1.4.1','sec:cpp2-acknowledgements'),"Acknowledgements",swi_man_packages('pl2cpp.html'),packages,32821). │ │ │ -i(section(2,'1.5','sec:cpp2-life-of-a-predicate'),"The life of a PREDICATE",swi_man_packages('pl2cpp.html'),packages,33273). │ │ │ -i(section(2,'1.6','sec:cpp2-overview'),"Overview",swi_man_packages('pl2cpp.html'),packages,37110). │ │ │ -i(section(3,'1.6.1','sec:cpp2-philosophy'),"Design philosophy of the classes",swi_man_packages('pl2cpp.html'),packages,38321). │ │ │ -i(section(3,'1.6.2','sec:cpp2-files-summary'),"Summary of files",swi_man_packages('pl2cpp.html'),packages,44674). │ │ │ -i(section(3,'1.6.3','sec:cpp2-class-summary'),"Summary of classes",swi_man_packages('pl2cpp.html'),packages,46257). │ │ │ -i(section(3,'1.6.4','sec:cpp2-wrapper-functions'),"Wrapper functions",swi_man_packages('pl2cpp.html'),packages,52092). │ │ │ -i(section(3,'1.6.5','sec:cpp2-naming'),"Naming conventions, utility functions and methods",swi_man_packages('pl2cpp.html'),packages,54556). │ │ │ -i(section(3,'1.6.6','sec:cpp2-plterm'),"PlTerm class",swi_man_packages('pl2cpp.html'),packages,60813). │ │ │ -i(section(3,'1.6.7','sec:cpp-plterm-scoped'),"PlTermScoped class (experimental)",swi_man_packages('pl2cpp.html'),packages,113016). │ │ │ -i(section(3,'1.6.8','sec:cpp2-blobs'),"Blobs",swi_man_packages('pl2cpp.html'),packages,121188). │ │ │ -i(section(4,'1.6.8.1','sec:cpp2-c++-features'),"A review of C++ features used by the API",swi_man_packages('pl2cpp.html'),packages,127546). │ │ │ -i(section(4,'1.6.8.2','sec:cpp2-blobs-howto'),"How to define a blob using C++",swi_man_packages('pl2cpp.html'),packages,137335). │ │ │ -i(section(4,'1.6.8.3','sec:cpp2-blobs-life'),"The life of a PlBlob",swi_man_packages('pl2cpp.html'),packages,138137). │ │ │ -i(section(4,'1.6.8.4','sec:cpp2-blobs-exceptions'),"C++ exceptions and blobs",swi_man_packages('pl2cpp.html'),packages,141740). │ │ │ -i(section(4,'1.6.8.5','sec:cpp2-blobs-sample-code'),"Sample PlBlob code (connection to database)",swi_man_packages('pl2cpp.html'),packages,145351). │ │ │ -i(section(4,'1.6.8.6','sec:cpp2-blobs-sample-code-discussion'),"Discussion of the sample PlBlob code",swi_man_packages('pl2cpp.html'),packages,148901). │ │ │ -i(section(4,'1.6.8.7','sec:cpp2-blobs-sample-code-pointer'),"Sample PlBlob code (wrapping a pointer)",swi_man_packages('pl2cpp.html'),packages,158267). │ │ │ -i(section(4,'1.6.8.8','sec:cpp2-blobs-sample-code-pointer-discussion'),"Discussion of the sample PlBlob code (wrapping a pointer)",swi_man_packages('pl2cpp.html'),packages,162190). │ │ │ -i(section(4,'1.6.8.9','sec:cpp2-atom-blob'),"Identifying blobs by atoms",swi_man_packages('pl2cpp.html'),packages,165241). │ │ │ -i(section(3,'1.6.9','sec:cpp2-limitations'),"Limitations of the interface",swi_man_packages('pl2cpp.html'),packages,165767). │ │ │ -i(section(4,'1.6.9.1','sec:cpp2-strings'),"Strings",swi_man_packages('pl2cpp.html'),packages,166002). │ │ │ -i(section(4,'1.6.9.2','sec:cpp2-stream-io'),"Stream I/O",swi_man_packages('pl2cpp.html'),packages,169192). │ │ │ -i(section(4,'1.6.9.3','sec:cpp2-limitations-handles'),"Object handles",swi_man_packages('pl2cpp.html'),packages,174070). │ │ │ -i(section(3,'1.6.10','sec:cpp2-plld'),"Linking embedded applications using swipl-ld",swi_man_packages('pl2cpp.html'),packages,175690). │ │ │ -i(section(2,'1.7','sec:cpp2-examples'),"Examples",swi_man_packages('pl2cpp.html'),packages,176783). │ │ │ -i(section(3,'1.7.1','sec:cpp2-hello-world'),"Hello(World)",swi_man_packages('pl2cpp.html'),packages,177089). │ │ │ -i(section(3,'1.7.2','sec:cpp2-ex-adding-numbers'),"Adding numbers",swi_man_packages('pl2cpp.html'),packages,178535). │ │ │ -i(section(3,'1.7.3','sec:cpp2-ex-average'),"Average of solutions - calling a Prolog goal",swi_man_packages('pl2cpp.html'),packages,180112). │ │ │ -i(section(2,'1.8','sec:cpp2-rationale'),"Rationale for changes from version 1",swi_man_packages('pl2cpp.html'),packages,181672). │ │ │ -i(section(3,'1.8.1','sec:cpp2-rationale-ctors'),"Implicit constructors and conversion operators",swi_man_packages('pl2cpp.html'),packages,181863). │ │ │ -i(section(3,'1.8.2','sec:cpp2-rationale-strings'),"Strings",swi_man_packages('pl2cpp.html'),packages,185460). │ │ │ -i(section(2,'1.9','sec:cpp2-porting-1-2'),"Porting from version 1 to version 2",swi_man_packages('pl2cpp.html'),packages,187120). │ │ │ -i(section(2,'1.10','sec:cpp2-plfail'),"The class PlFail",swi_man_packages('pl2cpp.html'),packages,190980). │ │ │ -i(section(3,'1.10.1','sec:cpp2-plcheck'),"PlCheckFail(), and PlEx() convenience functions",swi_man_packages('pl2cpp.html'),packages,192630). │ │ │ -i(section(2,'1.11','sec:cpp2-plterm-get-put-unify'),"Overview of accessing and changing values",swi_man_packages('pl2cpp.html'),packages,194746). │ │ │ -i(section(3,'1.11.1','sec:cpp2-plterm-casting'),"Converting PlTerm to native C and C++ types",swi_man_packages('pl2cpp.html'),packages,196798). │ │ │ -i(section(3,'1.11.2','sec:cpp2-plterm-unification'),"Unification",swi_man_packages('pl2cpp.html'),packages,202311). │ │ │ -i(section(3,'1.11.3','sec:cpp2-plterm-comparison'),"Comparison",swi_man_packages('pl2cpp.html'),packages,205973). │ │ │ -i(section(3,'1.11.4','sec:cpp2-plterm-compound'),"Analysing compound terms",swi_man_packages('pl2cpp.html'),packages,210060). │ │ │ -i(section(3,'1.11.5','sec:cpp2-plterm-misc'),"Miscellaneous",swi_man_packages('pl2cpp.html'),packages,212104). │ │ │ -i(section(3,'1.11.6','sec:cpp2-plstring'),"The class PlTerm_string",swi_man_packages('pl2cpp.html'),packages,214917). │ │ │ -i(section(3,'1.11.7','sec:cpp2-codelist'),"The class PlCodeList",swi_man_packages('pl2cpp.html'),packages,216269). │ │ │ -i(section(3,'1.11.8','sec:cpp2-plcharlist'),"The class PlCharList",swi_man_packages('pl2cpp.html'),packages,216730). │ │ │ -i(section(3,'1.11.9','sec:cpp2-plcompound'),"The class PlCompound",swi_man_packages('pl2cpp.html'),packages,217335). │ │ │ -i(section(3,'1.11.10','sec:cpp2-pltail'),"The class PlTerm_tail",swi_man_packages('pl2cpp.html'),packages,218839). │ │ │ -i(section(3,'1.11.11','sec:cpp2-pltermv'),"The class PlTermv",swi_man_packages('pl2cpp.html'),packages,221852). │ │ │ -i(section(3,'1.11.12','sec:cpp2-prolog-constants'),"The class PlAtom - Supporting Prolog constants",swi_man_packages('pl2cpp.html'),packages,224005). │ │ │ -i(section(4,'1.11.12.1','sec:cpp2-direct-commparison-to-char-star'),"Direct comparision to char *",swi_man_packages('pl2cpp.html'),packages,224629). │ │ │ -i(section(4,'1.11.12.2','sec:cpp2-dirplatom'),"Direct comparision to PlAtom",swi_man_packages('pl2cpp.html'),packages,225267). │ │ │ -i(section(4,'1.11.12.3','sec:cpp2-extraction-comparison-atoms'),"Extraction of the atom and comparison to PlAtom",swi_man_packages('pl2cpp.html'),packages,225852). │ │ │ -i(section(4,'1.11.12.4','sec:cpp2-extraction-comparison-char-star'),"Extraction of the atom and comparison to char *",swi_man_packages('pl2cpp.html'),packages,226441). │ │ │ -i(section(3,'1.11.13','sec:cpp2-plrecord'),"Classes for the recorded database: PlRecord and PlRecordExternalCopy",swi_man_packages('pl2cpp.html'),packages,232286). │ │ │ -i(section(2,'1.12','sec:cpp2-plregister'),"The class PlRegister",swi_man_packages('pl2cpp.html'),packages,238301). │ │ │ -i(section(2,'1.13','sec:cpp2-plquery'),"The class PlQuery",swi_man_packages('pl2cpp.html'),packages,240155). │ │ │ -i(section(3,'1.13.1','sec:cpp2-plframe'),"The class PlFrame - Unification and foreign frames",swi_man_packages('pl2cpp.html'),packages,244480). │ │ │ -i(section(2,'1.14','sec:cpp2-predicate-macro'),"The PREDICATE and PREDICATE_NONDET macros",swi_man_packages('pl2cpp.html'),packages,251721). │ │ │ -i(section(3,'1.14.1','sec:cpp2-predicate-macro-variations'),"Variations of the PREDICATE macro",swi_man_packages('pl2cpp.html'),packages,253065). │ │ │ -i(section(3,'1.14.2','sec:cpp2-nondet'),"Non-deterministic predicates",swi_man_packages('pl2cpp.html'),packages,255297). │ │ │ -i(section(3,'1.14.3','sec:cpp2-module'),"Controlling the Prolog destination module",swi_man_packages('pl2cpp.html'),packages,258254). │ │ │ -i(section(2,'1.15','sec:cpp2-exceptions'),"Exceptions",swi_man_packages('pl2cpp.html'),packages,259287). │ │ │ -i(section(3,'1.15.1','sec:cpp2-plexception'),"The class PlException",swi_man_packages('pl2cpp.html'),packages,261499). │ │ │ -i(section(4,'1.15.1.1','sec:cpp2-pl-type-error'),"The function PlTypeError",swi_man_packages('pl2cpp.html'),packages,262811). │ │ │ -i(section(4,'1.15.1.2','sec:cpp2-pl-domain-error'),"The function PlDomainError",swi_man_packages('pl2cpp.html'),packages,263426). │ │ │ -i(section(2,'1.16','sec:cpp2-embedding'),"Embedded applications",swi_man_packages('pl2cpp.html'),packages,264414). │ │ │ -i(section(2,'1.17','sec:cpp2-considerations'),"Considerations",swi_man_packages('pl2cpp.html'),packages,266343). │ │ │ -i(section(3,'1.17.1','sec:cpp2-vs-c'),"The C++ versus the C interface",swi_man_packages('pl2cpp.html'),packages,266523). │ │ │ -i(section(3,'1.17.2','sec:cpp2-exceptions-notes'),"Notes on exceptions",swi_man_packages('pl2cpp.html'),packages,267697). │ │ │ -i(section(3,'1.17.3','sec:cpp2-global'),"Global terms, atoms, and functors",swi_man_packages('pl2cpp.html'),packages,270386). │ │ │ -i(section(3,'1.17.4','sec:cpp2-atom-map'),"Atom map utilities",swi_man_packages('pl2cpp.html'),packages,272169). │ │ │ -i(section(3,'1.17.5','sec:cpp2-linking'),"Static linking and embedding",swi_man_packages('pl2cpp.html'),packages,275386). │ │ │ -i(section(3,'1.17.6','sec:cpp2-status'),"Status and compiler versions",swi_man_packages('pl2cpp.html'),packages,275818). │ │ │ -i(section(2,'1.18','sec:cpp2-conclusions'),"Conclusions",swi_man_packages('pl2cpp.html'),packages,278103). │ │ │ +i(section(0,'0','packages/stomp.html'),"STOMP -- a SWI-Prolog STOMP client",swi_man_packages('stomp.html'),packages,2786). │ │ │ +i(section(2,'1','sec:stomp'),"library(stomp): STOMP client.",swi_man_packages('stomp.html'),packages,3919). │ │ │ +i(section(3,'1.1','sec:stomp-threading'),"Threading",swi_man_packages('stomp.html'),packages,5229). │ │ │ +i(section(3,'1.2','sec:stomp-reconnecting'),"Reconnecting",swi_man_packages('stomp.html'),packages,6178). │ │ │ +i(/(stomp_connection,5),"Create a connection reference.",swi_man_packages('stomp.html'),packages,6809). │ │ │ +i(/(stomp_connection,6),"Create a connection reference.",swi_man_packages('stomp.html'),packages,6809). │ │ │ +i(/(stomp_connection_property,2),"True when Property, is a property of Connection.",swi_man_packages('stomp.html'),packages,10316). │ │ │ +i(/(stomp_destroy_connection,1),"Destroy a connection.",swi_man_packages('stomp.html'),packages,11441). │ │ │ +i(/(stomp_setup,2),"Set up the actual socket connection and start receiving thread.",swi_man_packages('stomp.html'),packages,11723). │ │ │ +i(/(stomp_teardown,1),"Tear down the socket connection, stop receiving thread and heartbeat thread (if applicable).",swi_man_packages('stomp.html'),packages,12434). │ │ │ +i(/(stomp_reconnect,1),"Teardown the connection and try to reconnect.",swi_man_packages('stomp.html'),packages,12936). │ │ │ +i(/(stomp_connect,1),"Setup the connection.",swi_man_packages('stomp.html'),packages,13154). │ │ │ +i(/(stomp_connect,2),"Setup the connection.",swi_man_packages('stomp.html'),packages,13154). │ │ │ +i(/(stomp_send,4),"Send a SEND frame.",swi_man_packages('stomp.html'),packages,14331). │ │ │ +i(/(stomp_send_json,4),"Send a SEND frame.",swi_man_packages('stomp.html'),packages,14914). │ │ │ +i(/(stomp_subscribe,4),"Send a SUBSCRIBE frame.",swi_man_packages('stomp.html'),packages,15587). │ │ │ +i(/(stomp_unsubscribe,2),"Send an UNSUBSCRIBE frame.",swi_man_packages('stomp.html'),packages,16046). │ │ │ +i(/(stomp_ack,3),"Send an ACK frame.",swi_man_packages('stomp.html'),packages,16492). │ │ │ +i(/(stomp_nack,3),"Send a NACK frame.",swi_man_packages('stomp.html'),packages,17044). │ │ │ +i(/(stomp_ack,2),"Reply with an ACK or NACK based on the received message header.",swi_man_packages('stomp.html'),packages,17602). │ │ │ +i(/(stomp_nack,2),"Reply with an ACK or NACK based on the received message header.",swi_man_packages('stomp.html'),packages,17602). │ │ │ +i(/(stomp_begin,2),"Send a BEGIN frame.",swi_man_packages('stomp.html'),packages,18217). │ │ │ +i(/(stomp_commit,2),"Send a COMMIT frame.",swi_man_packages('stomp.html'),packages,18578). │ │ │ +i(/(stomp_abort,2),"Send a ABORT frame.",swi_man_packages('stomp.html'),packages,19007). │ │ │ +i(/(stomp_transaction,2),"Run Goal as once/1, tagging all SEND messages inside the transaction with the transaction id.",swi_man_packages('stomp.html'),packages,19431). │ │ │ +i(/(stomp_disconnect,2),"Send a DISCONNECT frame.",swi_man_packages('stomp.html'),packages,20005). │ │ │ i(section(0,'0','packages/clib.html'),"SWI-Prolog C-library",swi_man_packages('clib.html'),packages,2772). │ │ │ i(section(2,'1','sec:clib-intro'),"Introduction",swi_man_packages('clib.html'),packages,8024). │ │ │ i(section(2,'2','sec:process'),"library(process): Create processes and redirect I/O",swi_man_packages('clib.html'),packages,8979). │ │ │ i(/(process_create,3),"Create a new process running the file Exe and using arguments from the given list.",swi_man_packages('clib.html'),packages,11194). │ │ │ i(/(process_which,2),"True when Path is an absolute file name for the specification Exe.",swi_man_packages('clib.html'),packages,19571). │ │ │ i(/(process_id,1),"True if PID is the process id of the running Prolog process.",swi_man_packages('clib.html'),packages,19904). │ │ │ i(/(process_id,2),"PID is the process id of Process.",swi_man_packages('clib.html'),packages,20248). │ │ │ @@ -4357,7 +4329,35 @@ │ │ │ i(/(udp_peer_add,2),"Manage and query the set of known peers for a unicast network.",swi_man_packages('clib.html'),packages,161625). │ │ │ i(/(udp_peer_del,2),"Manage and query the set of known peers for a unicast network.",swi_man_packages('clib.html'),packages,161625). │ │ │ i(/(udp_peer,2),"Manage and query the set of known peers for a unicast network.",swi_man_packages('clib.html'),packages,161625). │ │ │ i(/(udp_term_string_hook,3),"Hook for serializing the message Term.",swi_man_packages('clib.html'),packages,162417). │ │ │ i(/(udp_unicast_join_hook,3),"This multifile hook is called if an UDP package is received on the port of the unicast network identified by Scope.",swi_man_packages('clib.html'),packages,164203). │ │ │ i(section(2,'20','sec:prologstream'),"library(prolog_stream): A stream with Prolog callbacks",swi_man_packages('clib.html'),packages,165659). │ │ │ i(/(open_prolog_stream,4),"Create a new stream that implements its I/O by calling predicates in Module.",swi_man_packages('clib.html'),packages,166115). │ │ │ +i(section(0,'0','packages/libedit.html'),"SWI-Prolog binding to BSD libedit",swi_man_packages('libedit.html'),packages,2785). │ │ │ +i(section(2,'1','sec:editline'),"library(editline): BSD libedit based command line editing",swi_man_packages('libedit.html'),packages,3472). │ │ │ +i(/(el_wrap,0),"Enable using editline on the standard user streams if user_input is connected to a terminal.",swi_man_packages('libedit.html'),packages,3934). │ │ │ +i(/(el_wrap,4),"Enable editline on the stream-triple .",swi_man_packages('libedit.html'),packages,4514). │ │ │ +i(/(el_setup,1),"This hooks is called as forall(el_setup(Input), true) after the input stream has been wrapped, the default Prolog commands have been added and the default user setup file has been sourced using el_source/2.",swi_man_packages('libedit.html'),packages,5111). │ │ │ +i(/(el_wrapped,1),"True if In is a stream wrapped by el_wrap/3.",swi_man_packages('libedit.html'),packages,5608). │ │ │ +i(/(el_unwrap,1),"Remove the libedit wrapper for In and the related output and error streams.",swi_man_packages('libedit.html'),packages,5859). │ │ │ +i(/(el_source,2),"Initialise editline by reading the contents of File.",swi_man_packages('libedit.html'),packages,6304). │ │ │ +i(/(el_bind,2),"Invoke the libedit bind command with the given arguments.",swi_man_packages('libedit.html'),packages,6597). │ │ │ +i(/(el_addfn,4),"Add a new command to the command line editor associated with Input.",swi_man_packages('libedit.html'),packages,7426). │ │ │ +i(/(el_line,2),"Fetch the currently buffered input line.",swi_man_packages('libedit.html'),packages,9430). │ │ │ +i(/(el_cursor,2),"Move the cursor Move character forwards (positive) or backwards (negative).",swi_man_packages('libedit.html'),packages,9838). │ │ │ +i(/(el_insertstr,2),"Insert Text at the cursor.",swi_man_packages('libedit.html'),packages,10115). │ │ │ +i(/(el_deletestr,2),"Delete Count characters before the cursor.",swi_man_packages('libedit.html'),packages,10329). │ │ │ +i(/(el_history,2),"Perform a generic action on the history.",swi_man_packages('libedit.html'),packages,10560). │ │ │ +i(/(el_history_events,2),"Unify Events with a list of pairs of the form Num-String, where Num is the event number and String is the associated string without terminating newline.",swi_man_packages('libedit.html'),packages,11272). │ │ │ +i(/(el_add_history,2),"Add a line to the command line history.",swi_man_packages('libedit.html'),packages,11669). │ │ │ +i(/(el_read_history,2),"Read the history saved using el_write_history/2.",swi_man_packages('libedit.html'),packages,11891). │ │ │ +i(/(el_write_history,2),"Save editline history to File.",swi_man_packages('libedit.html'),packages,12329). │ │ │ +i(section(0,'0','packages/utf8proc.html'),"SWI-Prolog Unicode library",swi_man_packages('utf8proc.html'),packages,2778). │ │ │ +i(section(2,'1','sec:unicode'),"library(unicode): Unicode string handling",swi_man_packages('utf8proc.html'),packages,3722). │ │ │ +i(/(unicode_map,3),"Perform unicode normalization operations.",swi_man_packages('utf8proc.html'),packages,6088). │ │ │ +i(/(unicode_nfd,2),"Characters are decomposed by canonical equivalence.",swi_man_packages('utf8proc.html'),packages,8748). │ │ │ +i(/(unicode_nfc,2),"Characters are decomposed and then recomposed by canonical equivalence.",swi_man_packages('utf8proc.html'),packages,8963). │ │ │ +i(/(unicode_nfkd,2),"Characters are decomposed by compatibility equivalence.",swi_man_packages('utf8proc.html'),packages,9510). │ │ │ +i(/(unicode_nfkc,2),"Characters are decomposed by compatibility equivalence, then recomposed by canonical equivalence.",swi_man_packages('utf8proc.html'),packages,9731). │ │ │ +i(/(unicode_property,2),"True if Property is defined for Char.",swi_man_packages('utf8proc.html'),packages,9995). │ │ │ +i(section(2,'2','sec:utf8proc-license'),"License",swi_man_packages('utf8proc.html'),packages,11768).