boundary (library)
Author(s): Göran Smedbäck.
This module offers predicate to check values according to their boundaries and offers lists of possible node ascendents.
Usage and interface
- Library usage:
:- use_module(library(boundary)). - Exports:
- Imports:
- System library modules:
aggregates, dynamic, iso_misc, iso_byte_char, iso_incomplete, operators, read, write, terms_check, terms_vars, cyclic_terms, provrml/internal_types, provrml/provrmlerror. - Packages:
prelude, nonpure, assertions, isomodes, regtypes, iso, dcg.
- System library modules:
Documentation on exports
Usage:boundary_check(Value_to_check,Init_value,Bound)
This predicate check the boundaries of the given value according to the boudary values. If the value is wrong according to the boundaries, the value is checked according to the initial value given. If the value continues to be wrong, an error will be raised accordingly.
- Call and exit should be compatible with:
(basic_props:atm/1)Value_to_check is an atom.
(basic_props:list/2)Init_value is a list of atms.
(internal_types:bound/1)Bound is a variable interval. - The following properties should hold at call time:
(term_typing:nonvar/1)Value_to_check is currently a term which is not a free variable.
(term_typing:nonvar/1)Init_value is currently a term which is not a free variable.
(term_typing:nonvar/1)Bound is currently a term which is not a free variable.
Usage:boundary_rotation_first(Bound_double,Bound)
The predicate will extract the first bounds from a double bound.
- Call and exit should be compatible with:
(internal_types:bound_double/1)Bound_double is a variable interval.
(internal_types:bound/1)Bound is a variable interval. - The following properties should hold at call time:
(term_typing:nonvar/1)Bound_double is currently a term which is not a free variable.
(term_typing:var/1)Bound is a free variable.
Usage:boundary_rotation_last(Bound_double,Bound)
The predicate will extract the last bounds from a double bound.
- Call and exit should be compatible with:
(internal_types:bound_double/1)Bound_double is a variable interval.
(internal_types:bound/1)Bound is a variable interval. - The following properties should hold at call time:
(term_typing:nonvar/1)Bound_double is currently a term which is not a free variable.
(term_typing:var/1)Bound is a free variable.
Usage:reserved_words(List)
Returns a list with the reserved words, words prohibited to use in cases not appropiated.
- Call and exit should be compatible with:
(basic_props:list/2)List is a list of atms. - The following properties should hold at call time:
(term_typing:var/1)List is a free variable.
Usage:children_nodes(List)
Returns a list of all nodes possible as children nodes.
- Call and exit should be compatible with:
(basic_props:list/2)List is a list of atms. - The following properties should hold at call time:
(term_typing:var/1)List is a free variable.