protocol

options_protocol

Options protocol.

Author: Paulo Moura
Version: 1:0:0
Date: 2021-02-01
Compilation flags:
static
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

Public predicates

check_option/1

Succeeds if the option is valid. Throws an error otherwise.

Compilation flags:
static
Template:
check_option(Option)
Mode and number of proofs:
check_option(@term) - one_or_error
Exceptions:
Option is a variable:
instantiation_error
Option is neither a variable nor a compound term:
type_error(compound,Option)
Option is a compound term but not a valid option:
domain_error(option,Option)

check_options/1

Succeeds if all the options in a list are valid. Throws an error otherwise.

Compilation flags:
static
Template:
check_options(Options)
Mode and number of proofs:
check_options(@term) - one_or_error
Exceptions:
Options is a variable:
instantiation_error
Options is neither a variable nor a list:
type_error(list,Options)
An element Option of the list Options is a variable:
instantiation_error
An element Option of the list Options is neither a variable nor a compound term:
type_error(compound,Option)
An element Option of the list Options is a compound term but not a valid option:
domain_error(option,Option)

valid_option/1

Succeeds if the option is valid.

Compilation flags:
static
Template:
valid_option(Option)
Mode and number of proofs:
valid_option(@term) - zero_or_one

valid_options/1

Succeeds if all the options in a list are valid.

Compilation flags:
static
Template:
valid_options(Options)
Mode and number of proofs:
valid_options(@term) - one

default_option/1

Enumerates, by backtracking, the default options.

Compilation flags:
static
Template:
default_option(Option)
Mode and number of proofs:
default_option(?compound) - zero_or_more

default_options/1

Returns a list of the default options.

Compilation flags:
static
Template:
default_options(Options)
Mode and number of proofs:
default_options(-list(compound)) - one

Protected predicates

merge_options/2

Merges the user options with the default options, returning the final list of options. Calls the fix_options/2 predicate to preprocess the options after merging. Callers must ensure, if required, that the user options are valid.

Compilation flags:
static
Template:
merge_options(UserOptions,Options)
Mode and number of proofs:
merge_options(+list(compound),-list(compound)) - one

fix_options/2

Fixes a list of options, returning the list of options.

Compilation flags:
static
Template:
fix_options(Options,FixedOptions)
Mode and number of proofs:
fix_options(+list(compound),-list(compound)) - one

fix_option/2

Fixes an option.

Compilation flags:
static
Template:
fix_option(Option,FixedOption)
Mode and number of proofs:
fix_option(+compound,-compound) - zero_or_one

Operators

(none)

See also

options