create_logtalk_flag(Flag, Value, Options)
Creates a new Logtalk flag and sets its default value. User-defined flags can be queried and set in the same way as pre-defined flags by using, respectively, the current_logtalk_flag/2
and set_logtalk_flag/2
built-in predicates.
This predicate is based on the specification of the SWI-Prolog create_prolog_flag/3
built-in predicate and supports the same options: access(Access)
, where Access
can be either read_write
(the default) or read_only
; keep(Keep)
, where Keep
can be either false
(the default) or true
, for deciding if an existing definition of the flag should be kept or replaced by the new one; and type(Type)
for specifying the type of the flag, which can be boolean
, atom
, integer
, float
, or term
(which only restricts the flag value to ground terms). When the type/1
option is not specified, the type of the flag is inferred from its initial value.
create_logtalk_flag(+atom, +ground, +list(ground))
instantiation_error
instantiation_error
instantiation_error
type_error(atom, Flag)
type_error(atom, Flag)
domain_error(flag_value, Flag + Value)
permission_error(modify, flag, Flag)
| ?- create_logtalk_flag(pretty_print_blobs, false, []).