- swipl
- library
- error.pl -- Error generating support
- apply.pl -- Apply predicates on a list
- lists.pl -- List Manipulation
- debug.pl -- Print debug messages and test assertions
- broadcast.pl -- Event service
- socket.pl -- Network socket (TCP and UDP) library
- predicate_options.pl -- Access and analyse predicate options
- shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
- option.pl -- Option list processing
- uid.pl -- User and group management on Unix systems
- unix.pl -- Unix specific operations
- syslog.pl -- Unix syslog interface
- thread_pool.pl -- Resource bounded thread management
- gensym.pl -- Generate unique symbols
- settings.pl -- Setting management
- arithmetic.pl -- Extensible arithmetic
- main.pl -- Provide entry point for scripts
- readutil.pl -- Read utilities
- ssl.pl -- Secure Socket Layer (SSL) library
- crypto.pl -- Cryptography and authentication library
- filesex.pl -- Extended operations on files
- doc_http.pl -- Documentation server
- pldoc.pl -- Process source documentation
- operators.pl -- Manage operators
- pairs.pl -- Operations on key-value lists
- prolog_source.pl -- Examine Prolog source-files
- sgml.pl -- SGML, XML and HTML parser
- quasi_quotations.pl -- Define Quasi Quotation syntax
- uri.pl -- Process URIs
- url.pl -- Analysing and constructing URL
- www_browser.pl -- Open a URL in the users browser
- prolog_colour.pl -- Prolog syntax colouring support.
- record.pl -- Access compound arguments by name
- prolog_xref.pl -- Prolog cross-referencer data collection
- occurs.pl -- Finding and counting sub-terms
- ordsets.pl -- Ordered set manipulation
- assoc.pl -- Binary associations
- ugraphs.pl -- Graph manipulation library
- xpath.pl -- Select nodes in an XML DOM
- iostream.pl -- Utilities to deal with streams
- atom.pl -- Operations on atoms
- porter_stem.pl
- solution_sequences.pl -- Modify solution sequences
- prolog_pack.pl -- A package manager for Prolog
- process.pl -- Create processes and redirect I/O
- memfile.pl
- prolog_config.pl -- Provide configuration information
- git.pl -- Run GIT commands
- ctypes.pl -- Character code classification
- time.pl -- Time and alarm library
- utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
- base64.pl -- Base64 encoding and decoding
- sha.pl -- SHA secure hashes
- crypt.pl
- persistency.pl -- Provide persistent dynamic predicates
- pure_input.pl -- Pure Input from files and streams
- nb_set.pl -- Non-backtrackable sets
- xsdp_types.pl -- XML-Schema primitive types
- uuid.pl -- Universally Unique Identifier (UUID) Library
- pcre.pl -- Perl compatible regular expression matching for SWI-Prolog
- aggregate.pl -- Aggregation operators on backtrackable predicates
- rdf_write.pl -- Write RDF/XML from a list of triples
- rdf.pl -- RDF/XML parser
- sgml_write.pl -- XML/SGML writer module
- archive.pl -- Access several archive formats
- csv.pl -- Process CSV (Comma-Separated Values) data
- dialect.pl -- Support multiple Prolog dialects
- apply_macros.pl -- Goal expansion rules to avoid meta-calling
- pengines.pl -- Pengines: Web Logic Programming Made Easy
- random.pl -- Random numbers
- zlib.pl -- Zlib wrapper for SWI-Prolog
- bdb.pl -- Berkeley DB interface
- hash_stream.pl -- Maintain a hash on a stream
- md5.pl -- MD5 hashes
- sandbox.pl -- Sandboxed Prolog code
- prolog_format.pl -- Analyse format specifications
- pprint.pl -- Pretty Print Prolog terms
- lazy_lists.pl -- Lazy list handling
- pengines_io.pl -- Provide Prolog I/O for HTML clients
- yall.pl -- Lambda expressions
- edinburgh.pl -- Some traditional Edinburgh predicates
- prolog_clause.pl -- Get detailed source-information about a clause
- prolog_breakpoints.pl -- Manage Prolog break-points
- dicts.pl -- Dict utilities
- dif.pl -- The dif/2 constraint
- thread.pl -- High level thread primitives
- rbtrees.pl -- Red black trees
- nb_rbtrees.pl -- Non-backtrackable operations on red black trees
- mallocinfo.pl -- Memory allocation details
- date.pl -- Process dates and times
- snowball.pl -- The Snowball multi-lingual stemmer library
- rdf_triple.pl -- Create triples from intermediate representation
- rdf_parser.pl
- rewrite_term.pl
- oset.pl -- Ordered set manipulation
- modules.pl -- Module utility predicates
- tables.pl -- XSB interface to tables
- base32.pl -- Base32 encoding and decoding
- charsio.pl -- I/O on Lists of Character Codes
- codesio.pl -- I/O on Lists of Character Codes
- coinduction.pl -- Co-Logic Programming
- heaps.pl -- heaps/priority queues
- sort.pl
- statistics.pl -- Get information about resource usage
- terms.pl -- Term manipulation
- varnumbers.pl -- Utilities for numbered terms
- when.pl -- Conditional coroutining
- backcomp.pl -- Backward compatibility
- edit.pl -- Editor interface
- doc_latex.pl -- PlDoc LaTeX backend
- listing.pl -- List programs and pretty print clauses
- system.pl -- System utilities
- make.pl -- Reload modified source files
- intercept.pl -- Intercept and signal interface
- files.pl
- doc_files.pl -- Create stand-alone documentation files
- hashtable.pl -- Hash tables
- shell.pl -- Elementary shell commands
- quintus.pl -- Quintus compatibility
- prolog_codewalk.pl -- Prolog code walker
- prolog_metainference.pl -- Infer meta-predicate properties
- prolog_code.pl -- Utilities for reasoning about code
- check.pl -- Consistency checking
- prolog_stack.pl -- Examine the Prolog stack
- optparse.pl -- command line parsing
- strings.pl -- String utilities
- yaml.pl -- Process YAML data
- help.pl -- Text based manual
- isub.pl -- isub: a string similarity measure
- threadutil.pl -- Interactive thread utilities
- redis_streams.pl -- Using Redis streams
- redis.pl -- Redis client
- odbc.pl
- editline.pl -- BSD libedit based command line editing
- wfs.pl -- Well Founded Semantics interface
- pwp.pl -- Prolog Well-formed Pages
- prolog_autoload.pl -- Autoload all dependencies
- ansi_term.pl -- Print decorated text to ANSI consoles
- prolog_trace.pl -- Print access to predicates
- writef.pl -- Old-style formatted write
- prolog_wrap.pl -- Wrapping predicates
- paxos.pl -- A Replicated Data Store
- table.pl
- readline.pl -- GNU readline interface
- plunit.pl -- Unit Testing
- test_cover.pl -- Clause cover analysis
- explain.pl -- Describe Prolog Terms
- term_to_json.pl
- unicode.pl -- Unicode string handling
- xmlenc.pl -- XML encryption library
- cgi.pl -- Read CGI parameters
- prolog_jiti.pl -- Just In Time Indexing (JITI) utilities
- udp_broadcast.pl -- A UDP broadcast proxy
- qsave.pl -- Save current program as a state or executable
- zip.pl -- Access resource ZIP archives
- prolog_stream.pl -- A stream with Prolog callbacks
- c14n2.pl -- C14n2 canonical XML documents
- protobufs.pl -- Google's Protocol Buffers
- double_metaphone.pl -- Phonetic string matching
- prolog_history.pl -- Per-directory persistent commandline history
- xmldsig.pl -- XML Digital signature
- tty.pl -- Terminal operations
- streampool.pl -- Input multiplexing
- rlimit.pl
- library
- ht_update(+HT, +Key, ?Old, +New) is semidet
- True when HT holds Key-Old before and Key-New after this call. Note
that it is possible to update to a variable and the instantiate
this. For example, a word-count update could be implemented as:
update_word_count(HT, Word) :- ( ht_update(HT, Word, Old, New) -> New is Old+1 ; ht_put(HT, Word, 1) ).