- swipl
- library
- error.pl
- debug.pl
- apply.pl
- lists.pl
- broadcast.pl
- predicate_options.pl
- shlib.pl
- option.pl
- thread_pool.pl
- gensym.pl
- settings.pl
- arithmetic.pl
- main.pl
- readutil.pl
- 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
- heaps.pl -- heaps/priority queues
- library
- csv_read_file(+File, -Rows) is det
- csv_read_file(+File, -Rows, +Options) is det
- Read a CSV file into a list of rows. Each row is a Prolog term
with the same arity. Options is handed to csv//2. Remaining
options are processed by phrase_from_file/3. The default
separator depends on the file name extension and is
\tfor.tsvfiles and,otherwise.Suppose we want to create a predicate table/6 from a CSV file that we know contains 6 fields per record. This can be done using the code below. Without the option
arity(6), this would generate a predicate table/N, where N is the number of fields per record in the data.?- csv_read_file(File, Rows, [functor(table), arity(6)]), maplist(assert, Rows).