- swi-prolog
- library
- error.pl -- Error generating support
 - apply.pl -- Apply predicates on a list
 - lists.pl -- List Manipulation
 - pairs.pl -- Operations on key-value lists
 - debug.pl -- Print debug messages and test assertions
 - broadcast.pl -- Event service
 - socket.pl -- Network socket (TCP and UDP) library
 - shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
 - option.pl -- Option list processing
 - uid.pl
 - unix.pl -- Unix specific operations
 - syslog.pl -- Unix syslog interface
 - thread_pool.pl -- Resource bounded thread management
 - rbtrees.pl -- Red black trees
 - gensym.pl -- Generate unique symbols
 - readutil.pl -- Read utilities
 - url.pl -- Analysing and constructing URL
 - utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
 - uri.pl -- Process URIs
 - memfile.pl
 - settings.pl -- Setting management
 - arithmetic.pl -- Extensible arithmetic
 - sgml.pl -- SGML, XML and HTML parser
 - iostream.pl -- Utilities to deal with streams
 - dialect.pl -- Support multiple Prolog dialects
 - quasi_quotations.pl -- Define Quasi Quotation syntax
 - pure_input.pl -- Pure Input from files and streams
 - time.pl -- Time and alarm library
 - main.pl -- Provide entry point for scripts
 - 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
 - prolog_source.pl -- Examine Prolog source-files
- prolog_read_source_term/4
 - requires_library/2
 - load_quasi_quotation_syntax/2
 - read_source_term_at_location/3
 - prolog_open_source/2
 - prolog_close_source/1
 - prolog_canonical_source/2
 - file_name_on_path/2
 - file_alias_path/2
 - path_segments_atom/2
 - directory_source_files/3
 - quasi_quotation_syntax/2
 - xref_open_source/2
 - xref_close_source/2
 
 - base64.pl -- Base64 encoding and decoding
 - aggregate.pl -- Aggregation operators on backtrackable predicates
 - ordsets.pl -- Ordered set manipulation
 - oset.pl -- Ordered set manipulation
 - www_browser.pl -- Open a URL in the users browser
 - process.pl -- Create processes and redirect I/O
 - prolog_colour.pl -- Prolog syntax colouring support.
 - prolog_xref.pl -- Prolog cross-referencer data collection
 - predicate_options.pl -- Access and analyse predicate options
 - prolog_clause.pl -- Get detailed source-information about a clause
 - occurs.pl -- Finding and counting sub-terms
 - listing.pl -- List programs and pretty print clauses
 - record.pl -- Access compound arguments by name
 - assoc.pl -- Binary associations
 - ugraphs.pl -- Graph manipulation library
 - xpath.pl -- Select nodes in an XML DOM
 - prolog_pack.pl -- A package manager for Prolog
 - archive.pl -- Access several archive formats
 - rdf.pl
 - rdf_parser.pl
 - rewrite.pl
 - quintus.pl -- Quintus compatibility
 - rdf_triple.pl -- Create triples from intermediate representation
 - sgml_write.pl -- XML/SGML writer module
 - xsdp_types.pl -- XML-Schema primitive types
 - thread.pl -- High level thread primitives
 - git.pl -- Run GIT commands
 - ctypes.pl -- Character code classification
 - sha.pl -- SHA secure hashes
 - crypt.pl
 - persistency.pl -- Provide persistent dynamic predicates
 - tty.pl -- Terminal operations
 - terms.pl -- Term manipulation
 - snowball.pl -- The Snowball multi-lingual stemmer library
 - sandbox.pl -- Sandboxed Prolog code
 - prolog_format.pl -- Analyse format specifications
 - when.pl -- Conditional coroutining
 - apply_macros.pl -- Goal expansion rules to avoid meta-calling
 - double_metaphone.pl -- Phonetic string matching
 - porter_stem.pl
 - nb_set.pl -- Non-backtrackable sets
 - c14n2.pl -- C14n2 canonical XML documents
 - dicts.pl -- Dict utilities
 - solution_sequences.pl -- Modify solution sequences
 - uuid.pl -- Universally Unique Identifier (UUID) Library
 - pcre.pl -- Perl compatible regular expression matching for SWI-Prolog
 - backcomp.pl -- Backward compatibility
 - system.pl -- System utilities
 - rdf_write.pl -- Write RDF/XML from a list of triples
 - date.pl -- Process dates and times
 - zlib.pl -- Zlib wrapper for SWI-Prolog
 - rdf_ntriples.pl -- RDF N-triples parser (obsolete)
 - csv.pl -- Process CSV (Comma-Separated Values) data
 - dif.pl -- The dif/2 constraint
 - ansi_term.pl -- Print decorated text to ANSI consoles
 - prolog_stack.pl -- Examine the Prolog stack
 - edinburgh.pl -- Some traditional Edinburgh predicates
 - helpidx.pl
 - explain.pl -- Describe Prolog Terms
 - edit.pl -- Editor interface
 - make.pl -- Reload modified source files
 - check.pl -- Consistency checking
 - prolog_codewalk.pl -- Prolog code walker
 - prolog_metainference.pl -- Infer meta-predicate properties
 - prolog_breakpoints.pl -- Manage Prolog break-points
 - threadutil.pl -- Interactive thread utilities
 - statistics.pl -- Get information about resource usage
 - help.pl
 - pengines.pl -- Pengines: Web Logic Programming Made Easy
 - charsio.pl -- I/O on Lists of Character Codes
 - modules.pl -- Module utility predicates
 - term_to_json.pl
 - random.pl -- Random numbers
 - md5.pl -- MD5 hashes
 - 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
 - prolog_stream.pl -- A stream with Prolog callbacks
 - cgi.pl -- Read CGI parameters
 - table.pl
 - varnumbers.pl -- Utilities for numbered terms
 - writef.pl -- Old-style formatted write
 - sort.pl
 - udp_broadcast.pl -- A UDP Broadcast Bridge
 - editline.pl -- BSD libedit based command line editing
 - console_input.pl
 - qsave.pl -- Save current program as a state or executable
 - prolog_autoload.pl -- Autoload all dependencies
 - base32.pl -- Base32 encoding and decoding
 - doc_files.pl -- Create stand-alone documentation files
 - shell.pl -- Elementary shell commands
 - codesio.pl -- I/O on Lists of Character Codes
 - coinduction.pl -- Co-Logic Programming
 - heaps.pl -- heaps/priority queues
 - files.pl
 - streampool.pl
 - tabling.pl -- Tabled execution (SLG WAM)
 - rlimit.pl
 - unicode.pl -- Unicode string handling
 - xmldsig.pl -- XML Digital signature
 - xmlenc.pl -- XML encryption library
 - chr.pl
 - optparse.pl -- command line parsing
 - hash_stream.pl -- Maintain a hash on a stream
 - prolog_history.pl -- Per-directory persistent commandline history
 - readline.pl -- GNU readline interface
 - win_menu.pl -- Console window menu
 
 
 - library
 
- prolog_read_source_term(+In, -Term, -Expanded, +Options) is det
 - Read a term from a Prolog source-file. Options is a option list
that is forwarded to read_clause/3.
This predicate is intended to read the file from the start. It tracks directives to update its notion of the currently effective syntax (e.g., declared operators).
- Arguments:
 - 
Term - Term read Expanded - Result of term-expansion on the term  - See also
 - - read_source_term_at_location/3 for reading at an arbitrary location.