- swipl
- library
- error.pl -- Error generating support
- debug.pl -- Print debug messages and test assertions
- apply.pl
- lists.pl -- List Manipulation
- broadcast.pl -- Event service
- predicate_options.pl
- shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
- option.pl -- Option list processing
- 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
- operators.pl -- Manage operators
- pairs.pl -- Operations on key-value lists
- prolog_source.pl -- Examine Prolog source-files
- quasi_quotations.pl -- Define Quasi Quotation syntax
- url.pl -- Analysing and constructing URL
- www_browser.pl -- Open a URL in the users browser
- prolog_colour.pl
- 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
- iostream.pl -- Utilities to deal with streams
- atom.pl -- Operations on atoms
- prolog_pack.pl -- A package manager for Prolog
- solution_sequences.pl -- Modify solution sequences
- git.pl -- Run GIT commands
- ctypes.pl -- Character code classification
- utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
- base64.pl -- Base64 encoding and decoding
- persistency.pl -- Provide persistent dynamic predicates
- pure_input.pl -- Pure Input from files and streams
- nb_set.pl -- Non-backtrackable sets
- aggregate.pl -- Aggregation operators on backtrackable predicates
- csv.pl -- Process CSV (Comma-Separated Values) data
- dialect.pl -- Support multiple Prolog dialects
- apply_macros.pl -- Goal expansion rules to avoid meta-calling
- yall.pl -- Lambda expressions
- prolog_code.pl -- Utilities for reasoning about code
- 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
- random.pl -- Random numbers
- sandbox.pl -- Sandboxed Prolog code
- prolog_format.pl -- Analyse format specifications
- pprint.pl -- Pretty Print Prolog terms
- modules.pl -- Module utility predicates
- lazy_lists.pl -- Lazy list handling
- 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
- optparse.pl -- command line parsing
- charsio.pl -- I/O on Lists of Character Codes
- portray_text.pl -- Portray text
- prolog_codewalk.pl -- Prolog code walker
- listing.pl -- List programs and pretty print clauses
- prolog_metainference.pl -- Infer meta-predicate properties
- ansi_term.pl -- Print decorated text to ANSI consoles
- hashtable.pl -- Hash tables
- rwlocks.pl -- Read/write locks
- backcomp.pl -- Backward compatibility
- tables.pl -- XSB interface to tables
- macros.pl -- Macro expansion
- terms.pl -- Term manipulation
- wfs.pl -- Well Founded Semantics interface
- writef.pl -- Old-style formatted write
- quintus.pl -- Quintus compatibility
- date.pl -- Process dates and times
- zip.pl -- Access resource ZIP archives
- shell.pl -- Elementary shell commands
- heaps.pl -- heaps/priority queues
- prolog_profile.pl -- Execution profiler
- prolog_config.pl -- Provide configuration information
- sort.pl
- intercept.pl -- Intercept and signal interface
- prolog_coverage.pl -- Coverage analysis tool
- codesio.pl -- I/O on Lists of Character Codes
- system.pl -- System utilities
- prolog_stack.pl -- Examine the Prolog stack
- prolog_wrap.pl -- Wrapping predicates
- explain.pl -- Describe Prolog Terms
- strings.pl -- String utilities
- varnumbers.pl -- Utilities for numbered terms
- edit.pl -- Editor interface
- make.pl -- Reload modified source files
- oset.pl -- Ordered set manipulation
- prolog_versions.pl -- Demand specific (Prolog) versions
- fastrw.pl -- Fast reading and writing of terms
- threadutil.pl -- Interactive thread utilities
- prolog_autoload.pl -- Autoload all dependencies
- check.pl -- Consistency checking
- streams.pl -- Manage Prolog streams
- prolog_debug.pl -- User level debugging tools
- increval.pl -- Incremental dynamic predicate modification
- statistics.pl -- Get information about resource usage
- base32.pl -- Base32 encoding and decoding
- help.pl -- Text based manual
- win_menu.pl -- Console window menu
- tty.pl -- Terminal operations
- qsave.pl -- Save current program as a state or executable
- prolog_jiti.pl -- Just In Time Indexing (JITI) utilities
- prolog_trace.pl -- Print access to predicates
- prolog_history.pl -- Per-directory persistent commandline history
- when.pl -- Conditional coroutining
- files.pl
- coinduction.pl -- Co-Logic Programming
- library
- csv(?Rows)// is det
- csv(?Rows, +Options)// is det
- Prolog DCG to `read/write' CSV data. Options:
- separator(+Code)
- The comma-separator. Must be a character code. Default is
(of course) the comma. Character codes can be specified
using the 0' notation. E.g., using
separator(0';)
parses a semicolon separated file. - ignore_quotes(+Boolean)
- If
true
(default false), threat double quotes as a normal character. - strip(+Boolean)
- If
true
(defaultfalse
), strip leading and trailing blank space. RFC4180 says that blank space is part of the data. - skip_header(+CommentLead)
- Skip leading lines that start with CommentLead. There is
no standard for comments in CSV files, but some CSV files
have a header where each line starts with
#
. After skipping comment lines this option causes csv//2 to skip empty lines. Note that an empty line may not contain white space characters (space or tab) as these may provide valid data. - convert(+Boolean)
- If
true
(default), use name/2 on the field data. This translates the field into a number if possible. - case(+Action)
- If
down
, downcase atomic values. Ifup
, upcase them and ifpreserve
(default), do not change the case. - functor(+Atom)
- Functor to use for creating row terms. Default is
row
. - arity(?Arity)
- Number of fields in each row. This predicate raises
a
domain_error(row_arity(Expected), Found)
if a row is found with different arity. - match_arity(+Boolean)
- If
false
(defaulttrue
), do not reject CSV files where lines provide a varying number of fields (columns). This can be a work-around to use some incorrect CSV files.