| Did you know ... | Search Documentation: |
| sicstus.pl -- SICStus 3 compatibility library |
This library is intended to be activated using the directive below in files that are designed for use with SICStus Prolog 3. The changes are in effect until the end of the file and in each file loaded from this file.
:- expects_dialect(sicstus).
This library only provides compatibility with version 3 of SICStus Prolog. For SICStus Prolog 4 compatibility, use library(dialect/sicstus4) instead.
push_sicstus_library[private]
setup_dialect[private]Currently this disables quoting when printing atoms, which SWI does by default, but SICStus doesn't. This globally modifies the print_write_options Prolog flag, so this change also affects code that doesn't request SICStus compatibility.
if(:If, :Then, :Else)
rename_module(?SICStusModule, ?RenamedSICSTusModule) is nondet[multifile]
use_module(+Module, -File, +Imports) is detIf both Module and File are given, we use Module and try to unify File with the absolute canonical path to the file from which Module was loaded. However, we succeed regardless of the success of this unification.
bb_put(:Name, +Value) is det
bb_get(:Name, -Value) is semidet
bb_delete(:Name, -Value) is semidet
bb_update(:Name, -Old, +New) is semidet
is_mutable(@Term) is det
create_mutable(?Value, -Mutable) is det
get_mutable(?Value, +Mutable) is semidet
update_mutable(?Value, !Mutable) is det
read_line(-Codes) is det
read_line(+Stream, -Codes) is detend_of_file if the end of the input is reached.
trimcore is det
prolog_flag(+Flag, -Old, +New) is semidetprolog_flag
to find the flags accessed using this predicate.
prolog:$breaklevel(-BreakLevel, Unknown)[private]The following predicates are exported from this file while their implementation is defined in imported modules or non-module files loaded by this module.
bb_put(:Name, +Value) is det
bb_get(:Name, -Value) is semidet
bb_delete(:Name, -Value) is semidet
bb_update(:Name, -Old, +New) is semidet
bb_put(:Name, +Value) is det
bb_get(:Name, -Value) is semidet
bb_delete(:Name, -Value) is semidet
bb_update(:Name, -Old, +New) is semidet
bb_put(:Name, +Value) is det
bb_get(:Name, -Value) is semidet
bb_delete(:Name, -Value) is semidet
bb_update(:Name, -Old, +New) is semidet
read_line(-Codes) is det
read_line(+Stream, -Codes) is detend_of_file if the end of the input is reached.
block +Headstrue. A
blockspec evaluated to true iff all arguments specified as `-' are
unbound.
Multiple BlockSpecs for a single predicate can appear in one or more
:- block declarations. The predicate is suspended untill all mode
patterns that apply to it are satisfied.
The implementation is realised by creating a wrapper that checks the block conditions and either calls the original predicate immediately (if none of the block conditions were true) or uses attributed variables to delay re-evaluating the block condition until any of the arguments in question are bound.
The following predicates are exported, but not or incorrectly documented.