Appendix

Here is the list of currently visible public predicates exported by module Prolog.

!/0
(#)/1
(#)/3
* /3
(+)/3
(,)/2
(-)/3
(->)/2
(.)/2
/ /3
// /3
(/\)/3
(:)/2
(::-)/2
(:=:)/2
(;)/2
(<)/2
<< /3
(-:)/2
(=)/2
(=..)/2
(=:=)/2
(=<)/2
(==)/2
(=>)/2
(=\=)/2
(>)/2
(>=)/2
>> /3
(@<)/2
(@=<)/2
(@>)/2
(@>=)/2
C/3
\ /3
(\+)/1
(\/)/3
(\==)/2
^ /2
abolish/2
abort/0
acos/2
add_cont/3
add_instr/4
all/3
append/3
appendN/2
append_conj/3
append_disj/3
apropos/1
apropos/2
arg/3
arith_dif/2
arith_eq/2
asm/0
assert/1
asserta/1
assertz/1
assumei/1
assumel/1
at_most/2
atan/2
atom/1
atomic/1
bagof/3
bb/0
bb/1
bb_def/2
bb_def/3
bb_element/2
bb_get/4
bb_let/2
bb_let/3
bb_list/1
bb_list0/3
bb_op/3
bb_put/2
bb_reset/0
bb_rm/1
bb_rm/2
bb_set/2
bb_set/3
bb_val/2
bb_val/3
bmake/0
bmake/2
boot/0
bu0/3
bu1/1
bu_ctr/2
call/1
change_arg/3
char_in_cmd/2
clause/2
cmake/0
cmake/1
cnl/0
compare/3
compare0/3
compile/1
compound/1
consult/1
copy_term/2
copy_term/3
cos/2
ctime/1
current_module/1
current_op/3
current_predicate/1
current_predicate/2
cwrite/1
dcg_connect/1
dcg_def/1
dcg_tell/1
dcg_telling/1
dcg_val/1
debug/1
def/3
det_append/3
det_append0/3
dir/0
display/1
do_body/1
(dynamic)/1
edit/2
erase/1
errmes/2
exists_file/1
expand_term/2
expr/2
fail/0
file_extension_list/1
file_library/2
file_search_path/1
find_file/2
findall/3
findall/4
findall_load_heap/1
findall_store_heap/1
float/1
float/2
float_fun/3
float_fun2/4
flush/0
for/3
free_variables/4
functor/3
gc_call/1
gc_read/1
gensym/2
get/1
get0/1
get_code/1
greater/2
greater_eq/2
ground/1
halt/1
help/1
if/3
if0/3
include/1
init_gensym/1
input_float/4
instance/2
integer/1
integer/2
interactive/1
(is)/2
is_assumed/1
is_builtin/1
is_compiled/1
is_module/1
is_prolog/1
iso_close_stream/2
iso_eof/1
iso_get_byte/2
iso_lseek/4
iso_open_stream/3
iso_peek_byte/2
iso_put_byte/2
iso_read_term/3
iso_write_term/3
ith_clause/4
keysort/2
length/2
less/2
less_eq/2
lift_heap/2
list2term/2
list_asm/3
listing/0
listing/1
listing/2
log/3
ls/0
lval/3
lwrite/1
main/0
main/1
make/0
make/1
make/2
make/3
make_file_name/4
member/2
member_i/4
meta_interpreter/1
metacall/1
metatrue/1
mod/3
(module)/1
(module)/2
module_call/2
module_name/3
module_predicate/3
modules/1
name/2
new_builtin/3
nl/0
nonvar/1
(nospy)/1
(not)/1
number/1
numbervars/3
older_file/2
op/3
op0/3
or/2
otherwise/0
patch_it/4
phrase/2
phrase/3
portable_display/1
portray/1
portray_clause/1
pow/3
pp_clause/1
pp_term/1
predicate_property/2
profile/0
(public)/1
put/1
put_code/1
random/1
read/1
read_term/2
reconsult/1
repeat/0
restart/0
retract/1
retractall/1
rm/2
saved/2
see/1
see_or_fail/2
see_tell/2
seeing/1
seeing_telling/2
seen/0
seen_told/1
set/3
setarg/3
setof/3
setref/2
shell/1
show_code0/2
sin/2
sort/2
(spy)/1
spying/1
sqrt/2
sread/2
stat0/3
stat_dict/2
statistics/0
statistics/2
string_op/3
strip_cont/3
strip_cont0/2
swrite/2
symcat/3
system/1
tab/1
tan/2
tell/1
telling/1
term2list/4
term_append/3
term_chars/2
told/0
top_read_term/2
toplevel/0
tr_body/2
trace/1
true/0
ttyin/1
ttynl/0
ttyout/1
ttyprin/1
ttyprint/1
ttyput/1
ttywrite/1
ttywriteln/1
unix/1
unix_access/2
unix_argc/1
unix_argv/2
unix_cd/1
unix_getenv/2
unix_kill/2
user_error/2
val/3
var/1
vars_of/2
while/2
write/1
write_float/1
writeq/1

BinProlog's default operator definitions (see file oper.pl) are the following:

:-op(1000,xfy,',').
:-op(1100,xfy,(';')).

:-op(1200,xfx,('-->')).
:-op(1200,xfx,(':-')).
:-op(1200,fx,(':-')).
:-op(700,xfx,'is').
:-op(700,xfx,'=').

:-op(500,yfx,'-').
:-op(500,fx,'-').
:-op(500,yfx,'+').
:-op(500,fx,'+').
:-op(400,yfx,'/').
:-op(400,yfx,'*').

:-op(650,xfy,'.').
:-op(700,xfx,'>=').
:-op(700,xfx,'>').
:-op(700,xfx,'=<').
:-op(700,xfx,(<)).
:-op(700,xfx,(=\=)).
:-op(700,xfx,(=:=)).

:-op(300,fy,(~)).
:-op(200,xfy,(^)).
:-op(300,xfx,(mod)).
:-op(400,yfx,(>>)).
:-op(400,yfx,(<<)).
:-op(400,yfx,(//)).
:-op(500,yfx,(#)).
:-op(500,fx,(#)).
:-op(500,yfx,(\/)).
:-op(500,yfx,(/\)).

:-op(700,xfx,(@>=)).
:-op(700,xfx,(@=<)).
:-op(700,xfx,(@>)).
:-op(700,xfx,(@<)).

:-op(700,xfx,(\==)).
:-op(700,xfx,(==)).
:-op(700,xfx,(=..)).
:-op(700,xfx,(\=)).

:-op(900,fy,(not)).
:-op(900,fy,(\+)).
:-op(900,fx,(spy)).
:-op(900,fx,(nospy)).

:-op(1050,xfy,(->)).
:-op(1050,xfx,(@@)).
:-op(1150,fx,(dynamic)).
:-op(1150,fx,(public)).
:-op(1150,fx,(module)).

:-op(1200,xfx,(::-)).

:-op(900,yfx,(:)).
:-op(600,xfx,(:=:)).
:-op(950,xfy,(-:)).
:-op(950,xfy,(=>)).
:-op(600,xfx,(<=)).
:-op(700,xfx,(=:)).
:-op(700,xfx,(:=)).