meta_predicate Declarationlibrary(aggregate)library(assoc)library(atts)library(avl)library(bags)library(between)library(chr)
library(clpb)
library(clpfd)
library([clpq,clpr])
library(codesio)library(csv)library(comclient)
library(fdbg)
library(file_systems)library(gauge)library(heaps)library(is_directives)
library(jasper)
library(json)
library('jsonrpc/jsonrpc_server')
library('jsonrpc/simple_jsonrpc_server')library(linda/[server,client])
library(lists)library(lmdb)
library(logarr)library(mutarray)library(mutdict)library(objects)
<-/2<</2>>/2class/1 declarationclass_ancestor/2class_method/1 declarationclass_superclass/2class_of/2create/2current_class/1debug_message/0 declarationdefine_method/3descendant_of/2destroy/1direct_message/4end_class/[0,1] declarationfetch_slot/2inherit/1 declarationinstance_method/1 declarationmessage/4nodebug_message/0 declarationpointer_object/2store_slot/2undefine_method/3uninherit/1 declarationlibrary(odbc)
library(ordsets)library(pillow)library(plunit)
library(process)
library(prologbeans)
library(queues)library(random)library(rem)library(samsort)library(sets)library(sockets)library(statistics)library(structs)
library(system)library(tcltk)
library(terms)library(timeout)library(trees)library(types)library(ugraphs)library(varnumbers)library(wgraphs)library(xml)library(zinc)
abolish/[1,2] ISOabort/0absolute_file_name/[2,3] hookableacyclic_term/1 ISOadd_breakpoint/2 development,/2 ISOappend/3arg/3 ISOask_query/4 hookableassert/[1,2]asserta/[1,2] ISOassertz/[1,2] ISOat_end_of_line/[0,1]at_end_of_stream/[0,1] ISOatom/1 ISOatom_chars/2 ISOatom_codes/2 ISOatom_concat/3 ISOatom_length/2 ISOatomic/1 ISObagof/3 ISObb_delete/2bb_get/2bb_put/2bb_update/3block/1 declarationbreak/0 developmentbreakpoint_expansion/2 hook, developmentbyte_count/2call/[1,2,...,255] ISOcall_cleanup/2call_residue_vars/2callable/1 ISOcatch/3 ISOchar_code/2 ISOchar_conversion/2 ISOcharacter_count/2clause/[2,3] ISOclose/[1,2] ISOcompare/3 ISOcompile/1compound/1 ISOconsult/1copy_term/[2,3] ISOcoverage_data/1 developmentcreate_mutable/2current_atom/1current_breakpoint/5 developmentcurrent_char_conversion/2 ISOcurrent_input/1 ISOcurrent_key/2current_module/[1,2]current_op/3 ISOcurrent_output/1 ISOcurrent_predicate/[1,2] ISOcurrent_prolog_flag/2 ISOcurrent_stream/3!/0 ISOdb_reference/1debug/0 developmentdebugger_command_hook/2 hook, developmentdebugging/0 developmentdif/2disable_breakpoints/1 developmentdiscontiguous/1 declaration, ISOdisplay/1do/2dynamic/1 declaration, ISOenable_breakpoints/1 developmentensure_loaded/1 ISO=:=/2 ISOerase/1error_exception/1 hook, developmentexecution_state/[1,2] development^/2expand_term/2 hookablefail/0 ISOfalse/0 ISOfile_search_path/2 hookfindall/[3,4] ISOfloat/1 ISOflush_output/[0,1] ISOforeign/[2,3] hookforeign_resource/2 hookformat/[2,3]freeze/2frozen/2functor/3 ISOgarbage_collect/0garbage_collect_atoms/0generate_message/3 hookgenerate_message_hook/3 hookget_byte/[1,2] ISOget_char/[1,2] ISOget_code/[1,2] ISOget_mutable/2goal_expansion/5 hookgoal_source_info/3>/2 ISOground/1 ISOhalt/[0,1] ISOif/3->/2 ISOinclude/1 declaration, ISOinitialization/1 declaration, ISOinstance/2integer/1 ISOis/2 ISOkeysort/2 ISOleash/1 developmentlength/2</2 ISOlibrary_directory/1 hookline_count/2line_position/2listing/[0,1]load_files/[1,2]load_foreign_resource/1 hookablemember/2memberchk/2message_hook/3 hookmeta_predicate/1 declarationmode/1 declarationmodule/[2,3] declarationmultifile/1 declaration, ISOmutable/1name/2 deprecatednl/[0,1] ISOnodebug/0 developmentnonmember/2nonvar/1 ISOnospy/1 developmentnospyall/0 development=\=/2 ISO=</2 ISO>=/2 ISO\+/1 ISO\=/2 ISOnotrace/0 developmentnozip/0 developmentnumber/1 ISOnumber_chars/2 ISOnumber_codes/2 ISOnumbervars/3on_exception/3 deprecatedonce/1 ISOop/3 ISOopen/[3,4] ISOopen_null_stream/1;/2 ISOotherwise/0peek_byte/[1,2] ISOpeek_char/[1,2] ISOpeek_code/[1,2] ISOphrase/[2,3]portray/1 hookportray_clause/[1,2]portray_message/2 hookpredicate_property/2print/[1,2] hookableprint_coverage/[0,1] developmentprint_message/2 hookableprint_message_lines/3print_profile/[0,1] developmentprofile_data/1 developmentprofile_reset/0 developmentprolog_flag/[2,3]prolog_load_context/2prompt/2public/1 declarationput_byte/[1,2] ISOput_char/[1,2] ISOput_code/[1,2] ISOquery_abbreviation/3 hookquery_class/5 hookquery_class_hook/5 hookquery_hook/6 hookquery_input/3 hookquery_input_hook/3 hookquery_map/4 hookquery_map_hook/4 hookraise_exception/1 deprecatedread/[1,2] ISOread_line/[1,2]read_term/[2,3] ISOreconsult/1recorda/3recorded/3recordz/3remove_breakpoints/1 developmentrepeat/0 ISOrestore/1retract/1 ISOretractall/1 ISOruntime_entry/1 hooksave_files/2save_modules/2save_predicates/2save_program/[1,2]see/1seeing/1seek/4seen/0set_input/1 ISOset_module/1set_output/1 ISOset_prolog_flag/2 ISOset_stream_position/2 ISOsetof/3 ISOsimple/1skip_byte/[1,2]skip_char/[1,2]skip_code/[1,2]skip_line/[0,1]sort/2 ISOsource_file/[1,2]spy/[1,2] developmentstatistics/[0,2]stream_code/2stream_position/2stream_position_data/3stream_property/2 ISOsub_atom/5 ISOsubsumes_term/2 ISOtell/1telling/1==/2 ISOterm_expansion/6 hook@>/2 ISO@</2 ISO\==/2 ISO@=</2 ISO@>=/2 ISO?=/2term_variables/2 ISOthrow/1 ISOtold/0trace/0 developmenttrimcore/0true/0 ISO=/2 ISOunify_with_occurs_check/2 ISO=../2 ISOunknown/2 developmentunknown_predicate_handler/3 hookunload_foreign_resource/1 hookableupdate_mutable/2use_module/[1,2,3]var/1 ISOvolatile/1 declarationwhen/2write/[1,2] ISOwrite_canonical/[1,2] ISOwrite_term/[2,3] hookable, ISOwriteq/[1,2] ISOzip/0 developmentSP_atom_from_string()SP_atom_length()SP_calloc()SP_close_query()SP_compare()SP_cons_functor()SP_cons_functor_array()SP_cons_list()SP_create_stream()SP_cut_query()SP_define_c_predicate()SP_deinitialize()SP_error_message()SP_event()SP_exception_term()SP_expand_file_name()SP_fail()SP_fclose()SP_flush_output()SP_fopen()SP_foreign_stash() macroSP_fprintf()SP_free()SP_get_address()SP_get_arg()SP_get_atom()SP_get_byte()SP_get_code()SP_get_current_dir()SP_get_dispatch()SP_get_float()SP_get_functor()SP_get_integer()SP_get_integer_bytes()SP_get_list()SP_get_list_codes()SP_get_list_n_bytes()SP_get_list_n_codes()SP_get_number_codes()SP_get_stream_counts()SP_get_stream_user_data()SP_get_string()SP_getenv()SP_initialize() macroSP_is_atom()SP_is_atomic()SP_is_compound()SP_is_float()SP_is_integer()SP_is_list()SP_is_number()SP_is_variable()SP_load()SP_load_sicstus_run_time()SP_malloc()SP_mutex_lock()SP_mutex_unlock()SP_new_term_ref()SP_next_solution()SP_next_stream()SP_open_query()SP_pred()SP_predicate()SP_printf()SP_put_address()SP_put_atom()SP_put_byte()SP_put_bytes()SP_put_code()SP_put_codes()SP_put_encoded_string()SP_put_float()SP_put_functor()SP_put_integer()SP_put_integer_bytes()SP_put_list()SP_put_list_codes()SP_put_list_n_bytes()SP_put_list_n_codes()SP_put_number_codes()SP_put_string()SP_put_term()SP_put_variable()SP_query()SP_query_cut_fail()SP_raise_exception()SP_read_from_string()SP_realloc()SP_register_atom()SP_restore()SP_set_argv()SP_set_current_dir()SP_set_user_stream_hook() preinitSP_set_user_stream_post_hook() preinitSP_signal()SP_strdup()SP_string_from_atom()SP_term_type()SP_unget_byte()SP_unget_code()SP_unify()SP_unregister_atom()SU_initialize() hookuser_close()user_flush_output()user_read()user_write()sicstus — SICStus Prolog Development Systemmzn-sicstus — Shortcut for MiniZinc with SICStus back-endspfz — FlatZinc Interpreterspdet — Determinacy Checkerspld — SICStus Prolog Application Buildersplfr — SICStus Prolog Foreign Resource Linkersplm — SICStus Prolog License Managerspxref — Cross ReferencerThis manual documents SICStus Prolog 4.10.1, June 2025.
Prolog is a simple but powerful programming language developed at the University of Marseille, as a practical tool for programming in logic. From a user’s point of view the major attraction of the language is ease of programming. Clear, readable, concise programs can be written quickly with few errors.
| • Intro | An Introduction to This Manual | |
| • Acknowledgments | Acknowledgments | |
| • Notation | Notational Conventions | |
| • Glossary | Glossary of Concepts Used | |
| • Run Intro | How to Run Prolog | |
| • Prolog Intro | The Prolog Language | |
| • Debug Intro | Debugging | |
| • Mixing C and Prolog | C-interface | |
| • Interfacing .NET and Java | Using the interfaces for .NET and Java | |
| • Multiple SICStus Runtimes | Multiple SICStus Runtimes in a Process | |
| • Writing Efficient Programs | Writing Efficient Programs | |
| • The Prolog Library | The Prolog Library | |
| • Prolog Reference Pages | Prolog Reference Pages | |
| • C Reference Pages | C Reference Pages | |
| • Command Reference Pages | Command Reference Pages | |
| • References | References | |
| • Predicate Index | An item for each predicate, function, etc | |
| • Keystroke Index | An item for each keystroke | |
| • Book Index | An item for each concept, predicate, method, other |