/usr/local/lib/swipl/library/predicate_options.pl
All Application Manual Name SummaryHelp

  • swipl
    • library
      • error.pl
      • debug.pl
      • apply.pl
      • lists.pl
      • broadcast.pl
      • shlib.pl
      • option.pl
      • thread_pool.pl
      • gensym.pl
      • settings.pl -- Setting management
      • arithmetic.pl
      • main.pl
      • readutil.pl
      • operators.pl
      • pairs.pl
      • prolog_source.pl
      • record.pl
      • quasi_quotations.pl
      • pure_input.pl
      • solution_sequences.pl
      • ordsets.pl
      • random.pl
      • base64.pl
      • aggregate.pl
      • yall.pl
      • sandbox.pl -- Sandboxed Prolog code
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • assoc.pl
      • prolog_format.pl -- Analyse format specifications
      • predicate_options.pl -- Access and analyse predicate options
        • predicate_options/3
        • assert_predicate_options/4
        • current_option_arg/2
        • current_predicate_option/3
        • check_predicate_option/3
        • current_predicate_options/3
        • derived_predicate_options/3
        • derived_predicate_options/1
        • retractall_predicate_options/0
        • check_predicate_options/0
        • derive_predicate_options/0
        • check_predicate_options/1
      • csv.pl -- Process CSV (Comma-Separated Values) data
      • pprint.pl
      • atom.pl
      • modules.pl -- Module utility predicates
      • occurs.pl -- Finding and counting sub-terms
      • prolog_xref.pl
      • prolog_colour.pl -- Prolog syntax colouring support.
      • lazy_lists.pl
      • ugraphs.pl
      • url.pl
      • www_browser.pl
      • prolog_pack.pl
      • git.pl
      • rbtrees.pl
      • dif.pl
      • charsio.pl
      • prolog_stack.pl
      • edinburgh.pl
      • prolog_clause.pl
      • prolog_breakpoints.pl -- Manage Prolog break-points
      • wfs.pl
      • dialect.pl
      • prolog_code.pl
      • sort.pl
      • iostream.pl -- Utilities to deal with streams
      • dicts.pl
      • varnumbers.pl
      • edit.pl -- Editor interface
      • base32.pl
      • codesio.pl
      • coinduction.pl
      • date.pl
      • heaps.pl
      • statistics.pl
      • terms.pl
      • utf8.pl
      • when.pl
      • backcomp.pl
      • prolog_debug.pl -- User level debugging tools
      • listing.pl -- List programs and pretty print clauses
      • optparse.pl
      • prolog_trace.pl
      • prolog_wrap.pl
      • make.pl -- Reload modified source files
      • prolog_coverage.pl
      • ansi_term.pl -- Print decorated text to ANSI consoles
      • writef.pl -- Old-style formatted write
      • threadutil.pl -- Interactive thread utilities
      • persistency.pl
      • nb_set.pl
      • prolog_config.pl
      • prolog_versions.pl
      • shell.pl -- Elementary shell commands
      • intercept.pl
      • macros.pl
      • check.pl
      • prolog_codewalk.pl -- Prolog code walker
      • prolog_metainference.pl
      • thread.pl -- High level thread primitives
      • system.pl -- System utilities
      • prolog_profile.pl
      • qsave.pl
      • zip.pl
      • prolog_autoload.pl
      • hashtable.pl -- Hash tables
      • fastrw.pl -- Fast reading and writing of terms
      • quintus.pl
      • ctypes.pl -- Character code classification
      • increval.pl
      • tables.pl
      • strings.pl
 check_predicate_options is det
Analyse loaded program for erroneous options. This predicate decompiles the current program and searches for calls to predicates that process options. For each option list, it validates whether the provided options are supported and validates the argument type. This predicate performs partial dataflow analysis to track option-lists inside a clause.
See also
- derive_predicate_options/0 can be used to derive declarations for predicates that pass options. This predicate should normally be called before check_predicate_options/0.