Did you know ... Search Documentation:
Title for pldoc(dir_index)


Prolog files

aggregate.pl  -- Aggregation operators on backtrackable predicatesShow source
aggregate/3Aggregate bindings in Goal according to Template.Source
aggregate/4Aggregate bindings in Goal according to Template.Source
aggregate_all/3Aggregate bindings in Goal according to Template.Source
aggregate_all/4Aggregate bindings in Goal according to Template.Source
foreach/2True if conjunction of results is true.Source
free_variables/4Find free variables in bagof/setof template.Source
safe_meta/2Declare the aggregate meta-calls safe.Source
ansi_term.pl  -- Print decorated text to ANSI consolesShow source
apply.pl  -- Apply predicates on a listShow source
apply_macros.pl  -- Goal expansion rules to avoid meta-callingShow source
archive.pl  -- Access several archive formatsShow source
archive_close/1Close the archive.Source
archive_create/3Convenience predicate to create an archive in OutputFile with data from a list of InputFiles and the given Options.Source
archive_data_stream/3True when DataStream is a stream to a data object inside Archive.Source
archive_entries/2True when Paths is a list of pathnames appearing in Archive.Source
archive_extract/3Extract files from the given archive into Dir.Source
archive_foldl/4Operates like foldl/4 but for the entries in the archive.Source
archive_header_property/2True when Property is a property of the current header.Source
archive_next_header/2Forward to the next entry of the archive for which Name unifies with the pathname of the entry.Source
archive_open/3Wrapper around archive_open/4 that opens the archive in read mode.Source
archive_open/4Open the archive in Data and unify Archive with a handle to the opened archive.Source
archive_open_entry/2Open the current entry as a stream.Source
archive_property/2True when Property is a property of the archive Handle.Source
archive_set_header_property/2Set Property of the current header.Source
arithmetic.pl  -- Extensible arithmeticShow source
assoc.pl  -- Binary associationsShow source
atom.pl  -- Operations on atomsShow source
backcomp.pl  -- Backward compatibilityShow source
base32.pl  -- Base32 encoding and decodingShow source
base64.pl  -- Base64 encoding and decodingShow source
bdb.pl  -- Berkeley DB interfaceShow source
broadcast.pl  -- Event serviceShow source
c14n2.pl  -- C14n2 canonical XML documentsShow source
cgi.pl  -- Read CGI parametersShow source
charsio.pl  -- I/O on Lists of Character CodesShow source
check.pl  -- Consistency checkingShow source
check/0Run all consistency checks defined by checker/2.Source
checker/2Register code validation routines.Source
list_autoload/0Report predicates that may be auto-loaded.Source
list_format_errors/0List argument errors for format/2,3.Source
list_format_errors/1List argument errors for format/2,3.Source
list_rationals/0List rational numbers that appear in clauses.Source
list_rationals/1List rational numbers that appear in clauses.Source
list_redefined/0Lists predicates that are defined in the global module user as well as in a normal module; that is, predicates for which the local definition overrules the global default definition.Source
list_strings/0List strings that appear in clauses.Source
list_strings/1List strings that appear in clauses.Source
list_trivial_fails/0List goals that trivially fail because there is no matching clause.Source
list_trivial_fails/1List goals that trivially fail because there is no matching clause.Source
list_undefined/0Report undefined predicates.Source
list_undefined/1Report undefined predicates.Source
list_void_declarations/0List predicates that have declared attributes, but no clauses.Source
string_predicate/1Multifile hook to disable list_strings/0 on the given predicate.Source
trivial_fail_goal/1Multifile hook that tells list_trivial_fails/0 to accept Goal as valid.Source
valid_string_goal/1Multifile hook that qualifies Goal as valid for list_strings/0.Source
check_installation.pl  -- Check installation issues and featuresShow source
chr.plShow source
codesio.pl  -- I/O on Lists of Character CodesShow source
coinduction.pl  -- Co-Logic ProgrammingShow source
console_input.plShow source
complete_input/4Compute auto completions for the input line BeforeCursor+AfterCursor.Source
crypt.plShow source
crypto.pl  -- Cryptography and authentication libraryShow source
csv.pl  -- Process CSV (Comma-Separated Values) dataShow source
ctypes.pl  -- Character code classificationShow source
date.pl  -- Process dates and timesShow source
debug.pl  -- Print debug messages and test assertionsShow source
dialect.pl  -- Support multiple Prolog dialectsShow source
dicts.pl  -- Dict utilitiesShow source
dif.pl  -- The dif/2 constraintShow source
doc_files.pl  -- Create stand-alone documentation filesShow source
doc_http.pl  -- Documentation serverShow source
doc_latex.pl  -- PlDoc LaTeX backendShow source
double_metaphone.pl  -- Phonetic string matchingShow source
edinburgh.pl  -- Some traditional Edinburgh predicatesShow source
edit.pl  -- Editor interfaceShow source
editline.pl  -- BSD libedit based command line editingShow source
error.pl  -- Error generating supportShow source
explain.pl  -- Describe Prolog TermsShow source
explain/1Give an explanation on Term.Source
explain/2True when Explanation is an explanation of Term.Source
fastrw.pl  -- Fast reading and writing of termsShow source
files.plShow source
filesex.pl  -- Extended operations on filesShow source
gensym.pl  -- Generate unique symbolsShow source
git.pl  -- Run GIT commandsShow source
hash_stream.pl  -- Maintain a hash on a streamShow source
heaps.pl  -- heaps/priority queuesShow source
help.pl  -- Text based manualShow source
hotfix.pl  -- Load hotfixes into executablesShow source
intercept.pl  -- Intercept and signal interfaceShow source
iostream.pl  -- Utilities to deal with streamsShow source
close_any/1Execute the Close closure returned by open_any/5.Source
open_any/5Establish a stream from Specification that should be closed using Close, which can either be called or passed to close_any/1.Source
iso_639.plShow source
isub.pl  -- isub: a string similarity measureShow source
jpl.pl  -- A Java interface for SWI Prolog 7.xShow source
lazy_lists.pl  -- Lazy list handlingShow source
lazy_engine_next/4Lazy list iterator for engines.Source
lazy_findall/3True when List is a lazy list containing the instantiations for Template for each answer of Goal.Source
lazy_findall/4True when List is a lazy list containing the instantiations for Template for each answer of Goal.Source
lazy_get_codes/4Lazy list iterator to get character codes from a stream.Source
lazy_list/2Create a lazy list from a callback.Source
lazy_list/3Create a lazy list where the next element is defined by.Source
lazy_list_iterator/4Directive to create a lazy list iterator from a predicate that gets a single next value.Source
lazy_list_length/2True if Len is the length of the materialized lazy list.Source
lazy_list_materialize/1Materialize the lazy list.Source
lazy_message_queue/4Lazy list iterator for message queues.Source
lazy_read_lines/4Lazy list iterator to read lines from Stream.Source
lazy_read_terms/4Turn a stream into a lazy list of Prolog terms.Source
listing.pl  -- List programs and pretty print clausesShow source
lists.pl  -- List ManipulationShow source
append/2Concatenate a list of lists.Source
append/3List1AndList2 is the concatenation of List1 and List2.Source
delete/3Delete matching elements from a list.Source
flatten/2Is true if FlatList is a non-nested version of NestedList.Source
intersection/3True if Set3 unifies with the intersection of Set1 and Set2.Source
is_set/1True if Set is a proper list without duplicates.Source
last/2Succeeds when Last is the last element of List.Source
list_to_set/2True when Set has the same elements as List in the same order.Source
max_list/2True if Max is the largest number in List.Source
max_member/2True when Max is the largest member in the standard order of terms.Source
member/2True if Elem is a member of List.Source
min_list/2True if Min is the smallest number in List.Source
min_member/2True when Min is the smallest member in the standard order of terms.Source
nextto/3True if Y directly follows X in List.Source
nth0/3True when Elem is the Index'th element of List.Source
nth0/4Select/insert element at index.Source
nth1/3Is true when Elem is the Index'th element of List.Source
nth1/4As nth0/4, but counting starts at 1.Source
numlist/3List is a list [Low, Low+1, ... High].Source
permutation/2True when Xs is a permutation of Ys.Source
prefix/2True iff Part is a leading substring of Whole.Source
proper_length/2True when Length is the number of elements in the proper list List.Source
reverse/2Is true when the elements of List2 are in reverse order compared to List1.Source
same_length/2Is true when List1 and List2 are lists with the same number of elements.Source
select/3Is true when List1, with Elem removed, results in List2.Source
select/4Select from two lists at the same positon.Source
selectchk/3Semi-deterministic removal of first element in List that unifies with Elem.Source
selectchk/4Semi-deterministic version of select/4.Source
subset/2True if all elements of SubSet belong to Set as well.Source
subtract/3Delete all elements in Delete from Set.Source
sum_list/2Sum is the result of adding all numbers in List.Source
union/3True if Set3 unifies with the union of the lists Set1 and Set2.Source
main.pl  -- Provide entry point for scriptsShow source
make.pl  -- Reload modified source filesShow source
mallocinfo.pl  -- Memory allocation detailsShow source
md5.pl  -- MD5 hashesShow source
memfile.plShow source
modules.pl  -- Module utility predicatesShow source
nb_rbtrees.pl  -- Non-backtrackable operations on red black treesShow source
nb_set.pl  -- Non-backtrackable setsShow source
obfuscate.pl  -- Code obfuscatingShow source
occurs.pl  -- Finding and counting sub-termsShow source
contains_term/2Succeeds if Sub is contained in Term (=, deterministically).Source
contains_var/2Succeeds if Sub is contained in Term (==, deterministically).Source
free_of_term/2Succeeds of Sub does not unify to any subterm of Term.Source
free_of_var/2Succeeds of Sub is not equal (==) to any subterm of Term.Source
occurrences_of_term/3Count the number of SubTerms in Term.Source
occurrences_of_var/3Count the number of SubTerms in Term.Source
sub_term/2Generates (on backtracking) all subterms of Term.Source
sub_var/2Generates (on backtracking) all subterms (==) of Term.Source
odbc.plShow source
operators.pl  -- Manage operatorsShow source
option.pl  -- Option list processingShow source
optparse.pl  -- command line parsingShow source
ordsets.pl  -- Ordered set manipulationShow source
oset.pl  -- Ordered set manipulationShow source
pairs.pl  -- Operations on key-value listsShow source
paxos.pl  -- A Replicated Data StoreShow source
pcre.pl  -- Perl compatible regular expression matching for SWI-PrologShow source
re_compile/3Compiles Pattern to a Regex blob of type regex (see blob/2).Source
re_flush/0Clean pattern and replacement caches.Source
re_foldl/6Fold all matches of Regex on String.Source
re_match/2Succeeds if String matches Regex.Source
re_match/3Succeeds if String matches Regex.Source
re_matchsub/4Match String against Regex.Source
re_replace/4Replace matches of the regular expression Pattern in String with With.Source
re_split/3Split String using the regular expression Pattern.Source
re_split/4Split String using the regular expression Pattern.Source
pdt_console.plShow source
pengines.pl  -- Pengines: Web Logic Programming Made EasyShow source
pengines_io.pl  -- Provide Prolog I/O for HTML clientsShow source
pengines_sandbox.pl  -- Declare Pengine interaction sandbox-safeShow source
persistency.pl  -- Provide persistent dynamic predicatesShow source
pio.pl  -- Pure I/OShow source
pldoc.pl  -- Process source documentationShow source
plunit.pl  -- Unit TestingShow source
porter_stem.plShow source
portray_text.pl  -- Portray textShow source
pprint.pl  -- Pretty Print Prolog termsShow source
predicate_options.pl  -- Access and analyse predicate optionsShow source
assert_predicate_options/4As predicate_options(:PI, +Arg, +Options).Source
check_predicate_option/3Verify predicate options at runtime.Source
check_predicate_options/0Analyse loaded program for erroneous options.Source
check_predicate_options/1Verify calls to predicates that have options in all clauses of the predicate indicated by PredicateIndicator.Source
current_option_arg/2True when Arg of PI processes predicate options.Source
current_predicate_option/3True when Arg of PI processes Option.Source
current_predicate_options/3True when Options is the current active option declaration for PI on Arg.Source
derive_predicate_options/0Derive new predicate option declarations.Source
derived_predicate_options/1Derive predicate option declarations for a module.Source
derived_predicate_options/3Derive option arguments using static analysis.Source
predicate_options/3Declare that the predicate PI processes options on Arg.Source
retractall_predicate_options/0Remove all dynamically (derived) predicate options.Source
process.pl  -- Create processes and redirect I/OShow source
prolog_autoload.pl  -- Autoload all dependenciesShow source
prolog_breakpoints.pl  -- Manage Prolog break-pointsShow source
prolog_clause.pl  -- Get detailed source-information about a clauseShow source
clause_info/4Fetches source information for the given clause.Source
clause_info/5Fetches source information for the given clause.Source
clause_name/2Provide a suitable description of the indicated clause.Source
initialization_layout/4Find term-layout of :- initialization directives.Source
open_source/2Hook into clause_info/5 that opens the stream holding the source for a specific clause.Source
predicate_name/2Describe a predicate as [Module:]Name/Arity.Source
unify_goal/5This hook is called to fix up source code manipulations that result from goal expansions.Source
prolog_code.pl  -- Utilities for reasoning about codeShow source
prolog_codewalk.pl  -- Prolog code walkerShow source
prolog_colour.pl  -- Prolog syntax colouring support.Show source
prolog_config.pl  -- Provide configuration informationShow source
prolog_format.pl  -- Analyse format specificationsShow source
prolog_history.pl  -- Per-directory persistent commandline historyShow source
prolog_install.pl  -- Installation support predicatesShow source
prolog_jiti.pl  -- Just In Time Indexing (JITI) utilitiesShow source
prolog_metainference.pl  -- Infer meta-predicate propertiesShow source
prolog_pack.pl  -- A package manager for PrologShow source
prolog_server.plShow source
prolog_source.pl  -- Examine Prolog source-filesShow source
prolog_stack.pl  -- Examine the Prolog stackShow source
prolog_stream.pl  -- A stream with Prolog callbacksShow source
prolog_trace.pl  -- Print access to predicatesShow source
prolog_wrap.pl  -- Wrapping predicatesShow source
prolog_xref.pl  -- Prolog cross-referencer data collectionShow source
protobufs.pl  -- Google's Protocol BuffersShow source
pure_input.pl  -- Pure Input from files and streamsShow source
pwp.pl  -- Prolog Well-formed PagesShow source
qpforeign.pl  -- Quintus compatible foreign loaderShow source
qsave.pl  -- Save current program as a state or executableShow source
quasi_quotations.pl  -- Define Quasi Quotation syntaxShow source
quintus.pl  -- Quintus compatibilityShow source
random.pl  -- Random numbersShow source
getrand/1Query/set the state of the random generator.Source
maybe/0Succeed/fail with equal probability (variant of maybe/1).Source
maybe/1Succeed with probability P, fail with probability 1-P.Source
maybe/2Succeed with probability K/N (variant of maybe/1).Source
random/1Binds R to a new random float in the open interval (0.0,1.0).Source
random/3Generate a random integer or float in a range.Source
random_between/3Binds R to a random integer in [L,U] (i.e., including both L and U).Source
random_member/2X is a random member of List.Source
random_perm2/4Does X=A,Y=B or X=B,Y=A with equal probability.Source
random_permutation/2Permutation is a random permutation of List.Source
random_select/3Randomly select or insert an element.Source
randseq/3S is a list of K unique random integers in the range 1..N.Source
randset/3S is a sorted list of K unique random integers in the range 1..N.Source
setrand/1Query/set the state of the random generator.Source
rbtrees.pl  -- Red black treesShow source
rdf.pl  -- RDF/XML parserShow source
rdf_diagram.pl  -- Show graphical representation of a set of triplesShow source
rdf_parser.plShow source
rdf_triple.pl  -- Create triples from intermediate representationShow source
rdf_write.pl  -- Write RDF/XML from a list of triplesShow source
readln.pl  -- Read line as list of tokensShow source
readutil.pl  -- Read utilitiesShow source
record.pl  -- Access compound arguments by nameShow source
rewrite.plShow source
rewrite/2Invoke the term-rewriting system.Source
rewrite_term.plShow source
rlimit.plShow source
saml.pl  -- SAML AuthenticationShow source
sandbox.pl  -- Sandboxed Prolog codeShow source
settings.pl  -- Setting managementShow source
sgml.pl  -- SGML, XML and HTML parserShow source
dtd/2DTD is a DTD object created from the file dtd(Type).Source
load_dtd/3Load DtdFile into a DTD.Source
load_html/3Load HTML text from Input and unify the resulting DOM structure with DOM.Source
load_html_file/2Load HTML from File and unify the resulting DOM structure with DOM.Source
load_sgml/3Load SGML text from Input and unify the resulting DOM structure with DOM.Source
load_sgml_file/2Load SGML from File and unify the resulting DOM structure with DOM.Source
load_structure/3Parse Source and return the resulting structure in ListOfContent.Source
load_xml/3Load XML text from Input and unify the resulting DOM structure with DOM.Source
load_xml_file/2Load XML from File and unify the resulting DOM structure with DOM.Source
xml_basechar/1XML character classification predicates.Source
xml_combining_char/1XML character classification predicates.Source
xml_digit/1XML character classification predicates.Source
xml_extender/1XML character classification predicates.Source
xml_ideographic/1XML character classification predicates.Source
xml_is_dom/1True if term statisfies the structure as returned by load_structure/3 and friends.Source
xml_name/1True if Atom is a valid XML name.Source
xml_quote_attribute/2Backward compatibility for versions that allow to specify encoding.Source
xml_quote_cdata/2Backward compatibility for versions that allow to specify encoding.Source
sgml_write.pl  -- XML/SGML writer moduleShow source
sha.pl  -- SHA secure hashesShow source
file_sha1/2True when SHA1 is the SHA1 hash for the content of File.Source
hash_atom/2Convert a list of bytes (integers 0..255) into the usual hexadecimal notation.Source
hmac_sha/4For Options, see sha_hash/3.Source
sha_hash/3Hash is the SHA hash of Data, The conversion is controlled by Options:.Source
sha_hash_ctx/4Hash is the SHA hash of Data.Source
sha_new_ctx/2NewContext is unified with the empty SHA computation context (which includes the Options.) It could later be passed to sha_hash_ctx/4.Source
shell.pl  -- Elementary shell commandsShow source
shlib.pl  -- Utility library for loading foreign objects (DLLs, shared objects)Show source
compat_arch/2User definable hook to establish if Arch1 is compatible with Arch2 when running a shared object.Source
current_foreign_library/2Query currently loaded shared libraries.Source
load_foreign_library/1Load a shared object or DLL.Source
load_foreign_library/2Load a shared object or DLL.Source
reload_foreign_libraries/0Reload all foreign libraries loaded (after restore of a state created using qsave_program/2.Source
unload_foreign_library/1Unload a shared object or DLL.Source
unload_foreign_library/2Unload a shared object or DLL.Source
use_foreign_library/1Load and install a foreign library as load_foreign_library/1,2 and register the installation using initialization/2 with the option now.Source
use_foreign_library/2Load and install a foreign library as load_foreign_library/1,2 and register the installation using initialization/2 with the option now.Source
win_add_dll_directory/1Add AbsDir to the directories where dependent DLLs are searched on Windows systems.Source
snowball.pl  -- The Snowball multi-lingual stemmer libraryShow source
socket.pl  -- Network socket (TCP and UDP) libraryShow source
gethostname/1Return the canonical fully qualified name of this host.Source
negotiate_socks_connection/2Negotiate a connection to DesiredEndpoint over StreamPair.Source
proxy_for_url/3This hook can be implemented to return a proxy to try when connecting to URL.Source
tcp_accept/3This predicate waits on a server socket for a connection request by a client.Source
tcp_bind/2Bind the socket to Address on the current machine.Source
tcp_close_socket/1Closes the indicated socket, making SocketId invalid.Source
tcp_connect/2Connect SocketId.Source
tcp_connect/3Establish a TCP communication as a client.Source
tcp_connect/4Connect a (client) socket to Address and return a bi-directional connection through the stream-handles Read and Write.Source
tcp_fcntl/3Interface to the fcntl() call.Source
tcp_getopt/2Get information about Socket.Source
tcp_host_to_address/2Translate between a machines host-name and it's (IP-)address.Source
tcp_listen/2Tells, after tcp_bind/2, the socket to listen for incoming requests for connections.Source
tcp_open_socket/2Create streams to communicate to SocketId.Source
tcp_open_socket/3Similar to tcp_open_socket/2, but creates two separate sockets where tcp_open_socket/2 would have created a stream pair.Source
tcp_select/3Same as the built-in wait_for_input/3.Source
tcp_setopt/2Set options on the socket.Source
tcp_socket/1Creates an INET-domain stream-socket and unifies an identifier to it with SocketId.Source
try_proxy/4Attempt a socket-level connection via the given proxy to TargetAddress.Source
solution_sequences.pl  -- Modify solution sequencesShow source
call_nth/2True when Goal succeeded for the Nth time.Source
distinct/1True if Goal is true and no previous solution of Goal bound Witness to the same value.Source
distinct/2True if Goal is true and no previous solution of Goal bound Witness to the same value.Source
group_by/4Group bindings of Template that have the same value for By.Source
limit/2Limit the number of solutions.Source
offset/2Ignore the first Count solutions.Source
order_by/2Order solutions according to Spec.Source
reduced/1Similar to distinct/1, but does not guarantee unique results in return for using a limited amount of memory.Source
reduced/3Similar to distinct/1, but does not guarantee unique results in return for using a limited amount of memory.Source
sort.plShow source
ssl.pl  -- Secure Socket Layer (SSL) libraryShow source
statistics.pl  -- Get information about resource usageShow source
streaminfo.plShow source
streampool.pl  -- Input multiplexingShow source
syslog.pl  -- Unix syslog interfaceShow source
system.pl  -- System utilitiesShow source
table.plShow source
table_util.pl  -- Tabular file handling utilitiesShow source
term_to_json.plShow source
terms.pl  -- Term manipulationShow source
test_cover.pl  -- Clause cover analysisShow source
test_wizard.pl  -- Test Generation WizardShow source
thread.pl  -- High level thread primitivesShow source
thread_pool.pl  -- Resource bounded thread managementShow source
threadutil.pl  -- Interactive thread utilitiesShow source
time.pl  -- Time and alarm libraryShow source
tty.pl  -- Terminal operationsShow source
udp_broadcast.pl  -- A UDP broadcast proxyShow source
ugraphs.pl  -- Graph manipulation libraryShow source
uid.pl  -- User and group management on Unix systemsShow source
unicode.pl  -- Unicode string handlingShow source
unix.pl  -- Unix specific operationsShow source
uri.pl  -- Process URIsShow source
url.pl  -- Analysing and constructing URLShow source
utf8.pl  -- UTF-8 encoding/decoding on lists of character codes.Show source
uuid.pl  -- Universally Unique Identifier (UUID) LibraryShow source
varnumbers.pl  -- Utilities for numbered termsShow source
vm.pl  -- SWI-Prolog Virtual Machine utilitiesShow source
wfs.pl  -- Well Founded Semantics interfaceShow source
when.pl  -- Conditional coroutiningShow source
win_menu.pl  -- Console window menuShow source
writef.pl  -- Old-style formatted writeShow source
www_browser.pl  -- Open a URL in the users browserShow source
xmldsig.pl  -- XML Digital signatureShow source
xmlenc.pl  -- XML encryption libraryShow source
xpath.pl  -- Select nodes in an XML DOMShow source
xsdp_types.pl  -- XML-Schema primitive typesShow source
yall.pl  -- Lambda expressionsShow source
//2Shorthand for Free/[]>>Lambda.Source
//3Shorthand for Free/[]>>Lambda.Source
//4Shorthand for Free/[]>>Lambda.Source
//5Shorthand for Free/[]>>Lambda.Source
//6Shorthand for Free/[]>>Lambda.Source
//7Shorthand for Free/[]>>Lambda.Source
//8Shorthand for Free/[]>>Lambda.Source
//9Shorthand for Free/[]>>Lambda.Source
>>/2Calls a copy of Lambda.Source
>>/3Calls a copy of Lambda.Source
>>/4Calls a copy of Lambda.Source
>>/5Calls a copy of Lambda.Source
>>/6Calls a copy of Lambda.Source
>>/7Calls a copy of Lambda.Source
>>/8Calls a copy of Lambda.Source
>>/9Calls a copy of Lambda.Source
is_lambda/1True if Term is a valid Lambda expression.Source
lambda_calls/2Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N.Source
lambda_calls/3Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N.Source
yaml.pl  -- Process YAML dataShow source
zip.pl  -- Access resource ZIP archivesShow source
zlib.pl  -- Zlib wrapper for SWI-PrologShow source