- swipl
- library
- error.pl
- debug.pl -- Print debug messages and test assertions
- apply.pl -- Apply predicates on a list
- lists.pl
- broadcast.pl -- Event service
- shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
- option.pl
- thread_pool.pl -- Resource bounded thread management
- gensym.pl
- settings.pl
- arithmetic.pl
- main.pl
- readutil.pl -- Read utilities
- operators.pl
- pairs.pl
- prolog_source.pl -- Examine Prolog source-files
- quasi_quotations.pl
- url.pl
- www_browser.pl
- prolog_colour.pl
- record.pl
- prolog_xref.pl -- Prolog cross-referencer data collection
- occurs.pl
- ordsets.pl -- Ordered set manipulation
- assoc.pl -- Binary associations
- ugraphs.pl -- Graph manipulation library
- solution_sequences.pl -- Modify solution sequences
- atom.pl
- prolog_pack.pl
- git.pl -- Run GIT commands
- ctypes.pl
- utf8.pl
- base64.pl
- persistency.pl
- pure_input.pl
- nb_set.pl
- aggregate.pl
- csv.pl -- Process CSV (Comma-Separated Values) data
- iostream.pl -- Utilities to deal with streams
- dialect.pl
- 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
- predicate_options.pl -- Access and analyse predicate options
- rbtrees.pl
- nb_rbtrees.pl
- sandbox.pl
- prolog_format.pl -- Analyse format specifications
- random.pl
- pprint.pl -- Pretty Print Prolog terms
- modules.pl -- Module utility predicates
- lazy_lists.pl
- edinburgh.pl
- prolog_clause.pl
- prolog_breakpoints.pl -- Manage Prolog break-points
- dicts.pl
- heaps.pl
- backcomp.pl -- Backward compatibility
- date.pl
- prolog_profile.pl -- Execution profiler
- listing.pl -- List programs and pretty print clauses
- quintus.pl
- oset.pl
- varnumbers.pl
- tables.pl -- XSB interface to tables
- charsio.pl
- terms.pl -- Term manipulation
- make.pl
- streams.pl
- rwlocks.pl
- threadutil.pl -- Interactive thread utilities
- wfs.pl
- prolog_stack.pl -- Examine the Prolog stack
- check.pl -- Consistency checking
- intercept.pl -- Intercept and signal interface
- prolog_coverage.pl
- prolog_debug.pl -- User level debugging tools
- increval.pl
- help.pl -- Text based manual
- portray_text.pl
- statistics.pl -- Get information about resource usage
- optparse.pl
- ansi_term.pl
- hashtable.pl
- coinduction.pl
- qsave.pl
- zip.pl
- prolog_history.pl
- codesio.pl
- shell.pl -- Elementary shell commands
- when.pl -- Conditional coroutining
- system.pl -- System utilities
- prolog_jiti.pl
- prolog_codewalk.pl -- Prolog code walker
- exceptions.pl -- Exception classification
- base32.pl
- sort.pl
- prolog_versions.pl
- edit.pl
- macros.pl -- Macro expansion
- prolog_autoload.pl
- writef.pl
- strings.pl
- tableutil.pl
- tty.pl
- prolog_config.pl
- explain.pl
- fastrw.pl
- prolog_trace.pl
- files.pl
- prolog_wrap.pl -- Wrapping predicates
- prolog_metainference.pl
- library
- prolog_walk_code(+Options) is det
- Walk over all loaded (user) Prolog code. The following code is
processed:
- The bodies of all clauses in all user and library modules. This steps collects, but does not scan multifile predicates to avoid duplicate work.
- All multi-file predicates collected.
- All goals registered with initialization/1
Options processed:
- undefined(+Action)
- Action defines what happens if the analysis finds a
definitely undefined predicate. One of
ignoreorerror(default isignore). - autoload(+Boolean)
- Try to autoload code while walking. This is enabled by default to obtain as much as possible information about goals and find references from autoloaded libraries.
- clauses(+ListOfClauseReferences)
- Only process the given clauses. Can be used to find clauses
quickly using
source(false)and then process only interesting clauses with source information. - module(+Module)
- Only process the given module
- module_class(+ModuleClassList)
- Limit processing to modules of the given classes. See
module_property/2 for details on module classes. Default
is to scan the classes
userandlibrary. - infer_meta_predicates(+BooleanOrAll)
- Use infer_meta_predicate/2 on predicates with clauses that
call known meta-predicates. The analysis is restarted until
a fixed point is reached. If
true(default), analysis is only restarted if the inferred meta-predicate contains a callable argument. Ifall, it will be restarted until no more new meta-predicates can be found. - walk_meta_predicates(Boolean)
- When
false(defaulttrue), do not analyse the arguments of meta predicates. Standard Prolog control structures are always analysed. - trace_reference(Callable)
- Print all calls to goals that subsume Callable. Goals are represented as Module:Callable (i.e., they are always qualified). See also subsumes_term/2.
- trace_condition(:Cond)
- Additional filter condition applied after
trace_reference. Called ascall(Cond, Callee, Context), where Context is a dict containing the following keys:- caller:Context
- Qualified term representing the caller or the atom '<initialization>'.
- module:Context
- Module being processed
- clause:Context
- If we are processing a normal clause, the clause reference to this clause.
- initialization:Context
- If we are processing an initialization/1 directive, a term
File:Linerepresenting the location of the declaration.
- on_edge(:OnEdge)
- If a reference to
trace_referenceis found, callcall(OnEdge, Callee, Caller, Location), where Location is a dict containing a subset of the keysclause,file,character_count,line_countandline_position. If full position information is available all keys are present. If the clause layout is unknown the only theclause,fileandline_countare available and the line is the start line of the clause. For a dynamic clause, only theclauseis present. If the position is associated to a directive, theclauseis missing. If nothing is known the Location is an empty dict. - on_trace(:OnTrace)
- As
on_edge, but location is not translated and is one of these:clause_term_position(+ClauseRef, +TermPos)clause(+ClauseRef)file_term_position(+Path, +TermPos)file(+File, +Line, -1, _)- a variable (unknown)
Caller is the qualified head of the calling clause or the atom '<initialization>'.
- source(+Boolean)
- If
false(defaulttrue), to not try to obtain detailed source information for printed messages. - verbose(+Boolean)
- If
true(defaultfalse), report derived meta-predicates and iterations.@compat OnTrace was called using Caller-Location in older versions.