flags.pl -- flags

Module for declaring and manipulating klog flags. For a list of supported flags use klog_flags/2.

Developer note
To add more flags, use flag_traits/4 as
flag_traits(FlagName,C_Or_Prolog,Checker,Description)

where FlagName is an atom naming the flag, C_Or_Prolog is either the atom c or the atom prolog, Checker is a predicate that checks whether a value for this flag is legal, and Description is an atom describing the flag and its legal values. Prolog flags are directly handled in Prolog. C flags are used by the underlying kernel calculation system in C++. The declaration mechanism and default value assignment is slightly different in the two cases.

author
- Paolo Frasconi
klog_flag(+FlagName:atom, ?Val:atom) is det
If Val is a free variable, unify it with the current value of the flag FlagName. Otherwise sets FlagName to Val.
klog_flag(+Who:atom, +FlagName:atom, ?Val:atom) is semidet
If Val is a free variable, unify it with the current value of the flag FlagName. Otherwise sets FlagName to Val. Who is the handle of the kLog object for which the flag is read or set.
set_klog_flag(+FlagName:atom, +Val:atom) is det
Sets FlagName to Val.
set_klog_flag(+Who:atom, +FlagName:atom, +Val:atom) is det
Sets FlagName to Val for C++ object Who.
get_klog_flag(+FlagName:atom, -Val) is semidet
Unify Val with the current value of the flag FlagName.
get_klog_flag(+Who:atom, +FlagName:atom, -Val:atom) is det
Unify Val with the current value of the flag FlagName of C++ object Who.
klog_flags(+Stream) is det
Write a description of current flags to Stream.
klog_flags is det
Write a description of current flags to current output stream.