Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > d1f06a5336fd6bf4a381b72b8d2b5ce1 > files > 136

gprolog-1.2.16-3mdk.ppc.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
            "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>

<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="GENERATOR" content="hevea 1.06-7 of 2001-11-14">
<TITLE>
 Table of Contents
</TITLE>
</HEAD>
<BODY TEXT=black BGCOLOR=white>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<A HREF="manual002.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<HR>
<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#2dbae5"><DIV ALIGN=center><TABLE>
<TR><TD><FONT SIZE=5><B>Table of Contents</B></FONT></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE>
<UL><LI>
<A HREF="manual002.html#htoc1">1&nbsp;&nbsp;Acknowledgements</A>
<LI><A HREF="manual003.html#htoc2">2&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual004.html#htoc3">3&nbsp;&nbsp;Using GNU Prolog</A>
<UL><LI>
<A HREF="manual005.html#htoc4">3.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual006.html#htoc5">3.2&nbsp;&nbsp;The GNU Prolog interactive interpreter</A>
<UL><LI>
<A HREF="manual006.html#htoc6">3.2.1&nbsp;&nbsp;Starting/exiting the interactive interpreter</A>
<LI><A HREF="manual006.html#htoc7">3.2.2&nbsp;&nbsp;The interactive interpreter read-execute-write loop</A>
<LI><A HREF="manual006.html#htoc8">3.2.3&nbsp;&nbsp;Consulting a Prolog program</A>
<LI><A HREF="manual006.html#htoc9">3.2.4&nbsp;&nbsp;Interrupting a query</A>
<LI><A HREF="manual006.html#htoc10">3.2.5&nbsp;&nbsp;The line editor</A>
</UL>
<LI><A HREF="manual007.html#htoc11">3.3&nbsp;&nbsp;Adjusting the size of Prolog stacks</A>
<LI><A HREF="manual008.html#htoc12">3.4&nbsp;&nbsp;The GNU Prolog compiler</A>
<UL><LI>
<A HREF="manual008.html#htoc13">3.4.1&nbsp;&nbsp;Different kinds of codes</A>
<LI><A HREF="manual008.html#htoc14">3.4.2&nbsp;&nbsp;Compilation scheme</A>
<LI><A HREF="manual008.html#htoc15">3.4.3&nbsp;&nbsp;Using the compiler</A>
<LI><A HREF="manual008.html#htoc16">3.4.4&nbsp;&nbsp;Running an executable</A>
<LI><A HREF="manual008.html#htoc17">3.4.5&nbsp;&nbsp;Generating a new interactive interpreter</A>
<LI><A HREF="manual008.html#htoc18">3.4.6&nbsp;&nbsp;The hexadecimal predicate name encoding</A>
</UL>
</UL>
<LI><A HREF="manual009.html#htoc19">4&nbsp;&nbsp;Debugging</A>
<UL><LI>
<A HREF="manual010.html#htoc20">4.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual011.html#htoc21">4.2&nbsp;&nbsp;The procedure box model</A>
<LI><A HREF="manual012.html#htoc22">4.3&nbsp;&nbsp;Debugging predicates</A>
<UL><LI>
<A HREF="manual012.html#htoc23">4.3.1&nbsp;&nbsp;Running and stopping the debugger</A>
<LI><A HREF="manual012.html#htoc24">4.3.2&nbsp;&nbsp;Leashing ports</A>
<LI><A HREF="manual012.html#htoc25">4.3.3&nbsp;&nbsp;Spy-points</A>
</UL>
<LI><A HREF="manual013.html#htoc26">4.4&nbsp;&nbsp;Debugging messages</A>
<LI><A HREF="manual014.html#htoc27">4.5&nbsp;&nbsp;Debugger commands</A>
<LI><A HREF="manual015.html#htoc28">4.6&nbsp;&nbsp;The WAM debugger</A>
</UL>
<LI><A HREF="manual016.html#htoc29">5&nbsp;&nbsp;Format of definitions</A>
<UL><LI>
<A HREF="manual017.html#htoc30">5.1&nbsp;&nbsp;General format</A>
<LI><A HREF="manual018.html#htoc31">5.2&nbsp;&nbsp;Types and modes</A>
<LI><A HREF="manual019.html#htoc32">5.3&nbsp;&nbsp;Errors</A>
<UL><LI>
<A HREF="manual019.html#htoc33">5.3.1&nbsp;&nbsp;General format and error context</A>
<LI><A HREF="manual019.html#htoc34">5.3.2&nbsp;&nbsp;Instantiation error</A>
<LI><A HREF="manual019.html#htoc35">5.3.3&nbsp;&nbsp;Type error</A>
<LI><A HREF="manual019.html#htoc36">5.3.4&nbsp;&nbsp;Domain error</A>
<LI><A HREF="manual019.html#htoc37">5.3.5&nbsp;&nbsp;Existence error</A>
<LI><A HREF="manual019.html#htoc38">5.3.6&nbsp;&nbsp;Permission error</A>
<LI><A HREF="manual019.html#htoc39">5.3.7&nbsp;&nbsp;Representation error</A>
<LI><A HREF="manual019.html#htoc40">5.3.8&nbsp;&nbsp;Evaluation error</A>
<LI><A HREF="manual019.html#htoc41">5.3.9&nbsp;&nbsp;Resource error</A>
<LI><A HREF="manual019.html#htoc42">5.3.10&nbsp;&nbsp;Syntax error</A>
<LI><A HREF="manual019.html#htoc43">5.3.11&nbsp;&nbsp;System error</A>
</UL>
</UL>
<LI><A HREF="manual020.html#htoc44">6&nbsp;&nbsp;Prolog directives and control constructs</A>
<UL><LI>
<A HREF="manual021.html#htoc45">6.1&nbsp;&nbsp;Prolog directives</A>
<UL><LI>
<A HREF="manual021.html#htoc46">6.1.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual021.html#htoc47">6.1.2&nbsp;&nbsp;<TT>dynamic/1</TT></A>
<LI><A HREF="manual021.html#htoc48">6.1.3&nbsp;&nbsp;<TT>public/1</TT></A>
<LI><A HREF="manual021.html#htoc49">6.1.4&nbsp;&nbsp;<TT>multifile/1</TT></A>
<LI><A HREF="manual021.html#htoc50">6.1.5&nbsp;&nbsp;<TT>discontiguous/1</TT></A>
<LI><A HREF="manual021.html#htoc51">6.1.6&nbsp;&nbsp;<TT>ensure_linked/1</TT></A>
<LI><A HREF="manual021.html#htoc52">6.1.7&nbsp;&nbsp;<TT>built_in/0</TT>,
 <TT>built_in/1</TT>,
 <TT>built_in_fd/0</TT>,
 <TT>built_in_fd/1</TT></A>
<LI><A HREF="manual021.html#htoc53">6.1.8&nbsp;&nbsp;<TT>include/1</TT></A>
<LI><A HREF="manual021.html#htoc54">6.1.9&nbsp;&nbsp;<TT>ensure_loaded/1</TT></A>
<LI><A HREF="manual021.html#htoc55">6.1.10&nbsp;&nbsp;<TT>op/3</TT></A>
<LI><A HREF="manual021.html#htoc56">6.1.11&nbsp;&nbsp;<TT>char_conversion/2</TT></A>
<LI><A HREF="manual021.html#htoc57">6.1.12&nbsp;&nbsp;<TT>set_prolog_flag/2</TT></A>
<LI><A HREF="manual021.html#htoc58">6.1.13&nbsp;&nbsp;<TT>initialization/1</TT></A>
<LI><A HREF="manual021.html#htoc59">6.1.14&nbsp;&nbsp;<TT>foreign/2</TT>,
 <TT>foreign/1</TT></A>
</UL>
<LI><A HREF="manual022.html#htoc60">6.2&nbsp;&nbsp;Prolog control constructs</A>
<UL><LI>
<A HREF="manual022.html#htoc61">6.2.1&nbsp;&nbsp;<TT>true/0</TT>,
 <TT>fail/0</TT>,
 <TT>!/0</TT></A>
<LI><A HREF="manual022.html#htoc62">6.2.2&nbsp;&nbsp;<TT>(',')/2</TT> - conjunction,
 <TT>(;)/2</TT> - disjunction,
 <TT>(-&gt;)/2</TT> - if-then</A>
<LI><A HREF="manual022.html#htoc63">6.2.3&nbsp;&nbsp;<TT>call/1</TT></A>
<LI><A HREF="manual022.html#htoc64">6.2.4&nbsp;&nbsp;<TT>catch/3</TT>,
 <TT>throw/1</TT></A>
</UL>
</UL>
<LI><A HREF="manual023.html#htoc65">7&nbsp;&nbsp;Prolog built-in predicates</A>
<UL><LI>
<A HREF="manual024.html#htoc66">7.1&nbsp;&nbsp;Type testing</A>
<UL><LI>
<A HREF="manual024.html#htoc67">7.1.1&nbsp;&nbsp;<TT>var/1</TT>,
 <TT>nonvar/1</TT>,
 <TT>atom/1</TT>,
 <TT>integer/1</TT>,
 <TT>float/1</TT>,
 <TT>number/1</TT>,
 <TT>atomic/1</TT>,<BR>
<TT>compound/1</TT>,
 <TT>callable/1</TT>,
 <TT>list/1</TT>,
 <TT>partial_list/1</TT>,
 <TT>list_or_partial_list/1</TT></A>
</UL>
<LI><A HREF="manual025.html#htoc68">7.2&nbsp;&nbsp;Term unification</A>
<UL><LI>
<A HREF="manual025.html#htoc69">7.2.1&nbsp;&nbsp;<TT>(=)/2</TT> - Prolog unification</A>
<LI><A HREF="manual025.html#htoc70">7.2.2&nbsp;&nbsp;<TT>unify_with_occurs_check/2</TT></A>
<LI><A HREF="manual025.html#htoc71">7.2.3&nbsp;&nbsp;<TT>(\=)/2</TT> - not Prolog unifiable</A>
</UL>
<LI><A HREF="manual026.html#htoc72">7.3&nbsp;&nbsp;Term comparison</A>
<UL><LI>
<A HREF="manual026.html#htoc73">7.3.1&nbsp;&nbsp;Standard total ordering of terms</A>
<LI><A HREF="manual026.html#htoc74">7.3.2&nbsp;&nbsp;<TT>(==)/2</TT> - term identical,
 <TT>(\==)/2</TT> - term not identical,<BR>
<TT>(@&lt;)/2</TT> - term less than,
 <TT>(@=&lt;)/2</TT> - term less than or equal to,<BR>
<TT>(@&gt;)/2</TT> - term greater than,
 <TT>(@&gt;=)/2</TT> - term greater than or equal to</A>
<LI><A HREF="manual026.html#htoc75">7.3.3&nbsp;&nbsp;<TT>compare/3</TT></A>
</UL>
<LI><A HREF="manual027.html#htoc76">7.4&nbsp;&nbsp;Term processing</A>
<UL><LI>
<A HREF="manual027.html#htoc77">7.4.1&nbsp;&nbsp;<TT>functor/3</TT></A>
<LI><A HREF="manual027.html#htoc78">7.4.2&nbsp;&nbsp;<TT>arg/3</TT></A>
<LI><A HREF="manual027.html#htoc79">7.4.3&nbsp;&nbsp;<TT>(=..)/2</TT> - univ</A>
<LI><A HREF="manual027.html#htoc80">7.4.4&nbsp;&nbsp;<TT>copy_term/2</TT></A>
<LI><A HREF="manual027.html#htoc81">7.4.5&nbsp;&nbsp;<TT>setarg/4</TT>,
 <TT>setarg/3</TT></A>
</UL>
<LI><A HREF="manual028.html#htoc82">7.5&nbsp;&nbsp;Variable naming/numbering</A>
<UL><LI>
<A HREF="manual028.html#htoc83">7.5.1&nbsp;&nbsp;<TT>name_singleton_vars/1</TT></A>
<LI><A HREF="manual028.html#htoc84">7.5.2&nbsp;&nbsp;<TT>name_query_vars/2</TT></A>
<LI><A HREF="manual028.html#htoc85">7.5.3&nbsp;&nbsp;<TT>bind_variables/2</TT>,
 <TT>numbervars/3</TT>,
 <TT>numbervars/1</TT></A>
<LI><A HREF="manual028.html#htoc86">7.5.4&nbsp;&nbsp;<TT>term_ref/2</TT></A>
</UL>
<LI><A HREF="manual029.html#htoc87">7.6&nbsp;&nbsp;Arithmetic</A>
<UL><LI>
<A HREF="manual029.html#htoc88">7.6.1&nbsp;&nbsp;Evaluation of an arithmetic expression</A>
<LI><A HREF="manual029.html#htoc89">7.6.2&nbsp;&nbsp;<TT>(is)/2</TT> - evaluate expression</A>
<LI><A HREF="manual029.html#htoc90">7.6.3&nbsp;&nbsp;<TT>(=:=)/2</TT> - arithmetic equal,
 <TT>(=\=)/2</TT> - arithmetic not equal,<BR>
<TT>(&lt;)/2</TT> - arithmetic less than,
 <TT>(=&lt;)/2</TT> - arithmetic less than or equal to,<BR>
<TT>(&gt;)/2</TT> - arithmetic greater than,
 <TT>(&gt;=)/2</TT> - arithmetic greater than or equal to</A>
</UL>
<LI><A HREF="manual030.html#htoc91">7.7&nbsp;&nbsp;Dynamic clause management</A>
<UL><LI>
<A HREF="manual030.html#htoc92">7.7.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual030.html#htoc93">7.7.2&nbsp;&nbsp;<TT>asserta/1</TT>,
 <TT>assertz/1</TT></A>
<LI><A HREF="manual030.html#htoc94">7.7.3&nbsp;&nbsp;<TT>retract/1</TT></A>
<LI><A HREF="manual030.html#htoc95">7.7.4&nbsp;&nbsp;<TT>retractall/1</TT></A>
<LI><A HREF="manual030.html#htoc96">7.7.5&nbsp;&nbsp;<TT>clause/2</TT></A>
<LI><A HREF="manual030.html#htoc97">7.7.6&nbsp;&nbsp;<TT>abolish/1</TT></A>
</UL>
<LI><A HREF="manual031.html#htoc98">7.8&nbsp;&nbsp;Predicate information</A>
<UL><LI>
<A HREF="manual031.html#htoc99">7.8.1&nbsp;&nbsp;<TT>current_predicate/1</TT></A>
<LI><A HREF="manual031.html#htoc100">7.8.2&nbsp;&nbsp;<TT>predicate_property/2</TT></A>
</UL>
<LI><A HREF="manual032.html#htoc101">7.9&nbsp;&nbsp;All solutions</A>
<UL><LI>
<A HREF="manual032.html#htoc102">7.9.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual032.html#htoc103">7.9.2&nbsp;&nbsp;<TT>findall/3</TT></A>
<LI><A HREF="manual032.html#htoc104">7.9.3&nbsp;&nbsp;<TT>bagof/3</TT>,
 <TT>setof/3</TT></A>
</UL>
<LI><A HREF="manual033.html#htoc105">7.10&nbsp;&nbsp;Streams</A>
<UL><LI>
<A HREF="manual033.html#htoc106">7.10.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual033.html#htoc107">7.10.2&nbsp;&nbsp;<TT>current_input/1</TT></A>
<LI><A HREF="manual033.html#htoc108">7.10.3&nbsp;&nbsp;<TT>current_output/1</TT></A>
<LI><A HREF="manual033.html#htoc109">7.10.4&nbsp;&nbsp;<TT>set_input/1</TT></A>
<LI><A HREF="manual033.html#htoc110">7.10.5&nbsp;&nbsp;<TT>set_output/1</TT></A>
<LI><A HREF="manual033.html#htoc111">7.10.6&nbsp;&nbsp;<TT>open/4</TT>,
 <TT>open/3</TT></A>
<LI><A HREF="manual033.html#htoc112">7.10.7&nbsp;&nbsp;<TT>close/2</TT>,
 <TT>close/1</TT></A>
<LI><A HREF="manual033.html#htoc113">7.10.8&nbsp;&nbsp;<TT>flush_output/1</TT>,
 <TT>flush_output/0</TT></A>
<LI><A HREF="manual033.html#htoc114">7.10.9&nbsp;&nbsp;<TT>current_stream/1</TT></A>
<LI><A HREF="manual033.html#htoc115">7.10.10&nbsp;&nbsp;<TT>stream_property/2</TT></A>
<LI><A HREF="manual033.html#htoc116">7.10.11&nbsp;&nbsp;<TT>at_end_of_stream/1</TT>,
 <TT>at_end_of_stream/0</TT></A>
<LI><A HREF="manual033.html#htoc117">7.10.12&nbsp;&nbsp;<TT>stream_position/2</TT></A>
<LI><A HREF="manual033.html#htoc118">7.10.13&nbsp;&nbsp;<TT>set_stream_position/2</TT></A>
<LI><A HREF="manual033.html#htoc119">7.10.14&nbsp;&nbsp;<TT>seek/4</TT></A>
<LI><A HREF="manual033.html#htoc120">7.10.15&nbsp;&nbsp;<TT>character_count/2</TT></A>
<LI><A HREF="manual033.html#htoc121">7.10.16&nbsp;&nbsp;<TT>line_count/2</TT></A>
<LI><A HREF="manual033.html#htoc122">7.10.17&nbsp;&nbsp;<TT>line_position/2</TT></A>
<LI><A HREF="manual033.html#htoc123">7.10.18&nbsp;&nbsp;<TT>stream_line_column/3</TT></A>
<LI><A HREF="manual033.html#htoc124">7.10.19&nbsp;&nbsp;<TT>set_stream_line_column/3</TT></A>
<LI><A HREF="manual033.html#htoc125">7.10.20&nbsp;&nbsp;<TT>add_stream_alias/2</TT></A>
<LI><A HREF="manual033.html#htoc126">7.10.21&nbsp;&nbsp;<TT>current_alias/2</TT></A>
<LI><A HREF="manual033.html#htoc127">7.10.22&nbsp;&nbsp;<TT>add_stream_mirror/2</TT></A>
<LI><A HREF="manual033.html#htoc128">7.10.23&nbsp;&nbsp;<TT>remove_stream_mirror/2</TT></A>
<LI><A HREF="manual033.html#htoc129">7.10.24&nbsp;&nbsp;<TT>current_mirror/2</TT></A>
<LI><A HREF="manual033.html#htoc130">7.10.25&nbsp;&nbsp;<TT>set_stream_type/2</TT></A>
<LI><A HREF="manual033.html#htoc131">7.10.26&nbsp;&nbsp;<TT>set_stream_eof_action/2</TT></A>
<LI><A HREF="manual033.html#htoc132">7.10.27&nbsp;&nbsp;<TT>set_stream_buffering/2</TT></A>
</UL>
<LI><A HREF="manual034.html#htoc133">7.11&nbsp;&nbsp;Constant term streams</A>
<UL><LI>
<A HREF="manual034.html#htoc134">7.11.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual034.html#htoc135">7.11.2&nbsp;&nbsp;<TT>open_input_atom_stream/2</TT>,
 <TT>open_input_chars_stream/2</TT>,<BR>
<TT>open_input_codes_stream/2</TT></A>
<LI><A HREF="manual034.html#htoc136">7.11.3&nbsp;&nbsp;<TT>close_input_atom_stream/1</TT>,
 <TT>close_input_chars_stream/1</TT>,<BR>
<TT>close_input_codes_stream/1</TT></A>
<LI><A HREF="manual034.html#htoc137">7.11.4&nbsp;&nbsp;<TT>open_output_atom_stream/1</TT>, 
 <TT>open_output_chars_stream/1</TT>,<BR>
<TT>open_output_codes_stream/1</TT></A>
<LI><A HREF="manual034.html#htoc138">7.11.5&nbsp;&nbsp;<TT>close_output_atom_stream/2</TT>,
 <TT>close_output_chars_stream/2</TT>,<BR>
<TT>close_output_codes_stream/2</TT></A>
</UL>
<LI><A HREF="manual035.html#htoc139">7.12&nbsp;&nbsp;Character input/output</A>
<UL><LI>
<A HREF="manual035.html#htoc140">7.12.1&nbsp;&nbsp;<TT>get_char/2</TT>,
 <TT>get_char/1</TT>, 
 <TT>get_code/1</TT>,
 <TT>get_code/2</TT></A>
<LI><A HREF="manual035.html#htoc141">7.12.2&nbsp;&nbsp;<TT>get_key/2</TT>,
 <TT>get_key/1</TT>
	 <TT>get_key_no_echo/2</TT>,
 <TT>get_key_no_echo/1</TT></A>
<LI><A HREF="manual035.html#htoc142">7.12.3&nbsp;&nbsp;<TT>peek_char/2</TT>,
 <TT>peek_char/1</TT>,
 <TT>peek_code/1</TT>,
 <TT>peek_code/2</TT></A>
<LI><A HREF="manual035.html#htoc143">7.12.4&nbsp;&nbsp;<TT>unget_char/2</TT>,
 <TT>unget_char/1</TT>,
 <TT>unget_code/2</TT>,
 <TT>unget_code/1</TT></A>
<LI><A HREF="manual035.html#htoc144">7.12.5&nbsp;&nbsp;<TT>put_char/2</TT>,
 <TT>put_char/1</TT>,
 <TT>put_code/1</TT>,
 <TT>put_code/2</TT>,
 <TT>nl/1</TT>,
 <TT>nl/0</TT></A>
</UL>
<LI><A HREF="manual036.html#htoc145">7.13&nbsp;&nbsp;Byte input/output</A>
<UL><LI>
<A HREF="manual036.html#htoc146">7.13.1&nbsp;&nbsp;<TT>get_byte/2</TT>,
 <TT>get_byte/1</TT></A>
<LI><A HREF="manual036.html#htoc147">7.13.2&nbsp;&nbsp;<TT>peek_byte/2</TT>,
 <TT>peek_byte/1</TT></A>
<LI><A HREF="manual036.html#htoc148">7.13.3&nbsp;&nbsp;<TT>unget_byte/2</TT>,
 <TT>unget_byte/1</TT></A>
<LI><A HREF="manual036.html#htoc149">7.13.4&nbsp;&nbsp;<TT>put_byte/2</TT>,
 <TT>put_byte/1</TT></A>
</UL>
<LI><A HREF="manual037.html#htoc150">7.14&nbsp;&nbsp;Term input/output</A>
<UL><LI>
<A HREF="manual037.html#htoc151">7.14.1&nbsp;&nbsp;<TT>read_term/3</TT>,
 <TT>read_term/2</TT>,
 <TT>read/2</TT>,
 <TT>read/1</TT></A>
<LI><A HREF="manual037.html#htoc152">7.14.2&nbsp;&nbsp;<TT>read_atom/2</TT>,
 <TT>read_atom/1</TT>, 
 <TT>read_integer/2</TT>,
 <TT>read_integer/1</TT>,<BR>
<TT>read_number/2</TT>,
 <TT>read_number/1</TT></A>
<LI><A HREF="manual037.html#htoc153">7.14.3&nbsp;&nbsp;<TT>read_token/2</TT>,
 <TT>read_token/1</TT></A>
<LI><A HREF="manual037.html#htoc154">7.14.4&nbsp;&nbsp;<TT>syntax_error_info/4</TT></A>
<LI><A HREF="manual037.html#htoc155">7.14.5&nbsp;&nbsp;<TT>last_read_start_line_column/2</TT></A>
<LI><A HREF="manual037.html#htoc156">7.14.6&nbsp;&nbsp;<TT>write_term/3</TT>,
 <TT>write_term/2</TT>,
 <TT>write/2</TT>,
 <TT>write/1</TT>,
 <TT>writeq/2</TT>,
 <TT>writeq/1</TT>,<BR>
<TT>write_canonical/2</TT>,
 <TT>write_canonical/1</TT>,
 <TT>display/2</TT>,
 <TT>display/1</TT>,
 <TT>print/2</TT>,<BR>
<TT>print/1</TT></A>
<LI><A HREF="manual037.html#htoc157">7.14.7&nbsp;&nbsp;<TT>format/3</TT>,
 <TT>format/2</TT></A>
<LI><A HREF="manual037.html#htoc158">7.14.8&nbsp;&nbsp;<TT>portray_clause/2</TT>,
 <TT>portray_clause/1</TT></A>
<LI><A HREF="manual037.html#htoc159">7.14.9&nbsp;&nbsp;<TT>get_print_stream/1</TT></A>
<LI><A HREF="manual037.html#htoc160">7.14.10&nbsp;&nbsp;<TT>op/3</TT></A>
<LI><A HREF="manual037.html#htoc161">7.14.11&nbsp;&nbsp;<TT>current_op/3</TT></A>
<LI><A HREF="manual037.html#htoc162">7.14.12&nbsp;&nbsp;<TT>char_conversion/2</TT></A>
<LI><A HREF="manual037.html#htoc163">7.14.13&nbsp;&nbsp;<TT>current_char_conversion/2</TT></A>
</UL>
<LI><A HREF="manual038.html#htoc164">7.15&nbsp;&nbsp;Input/output from/to constant terms</A>
<UL><LI>
<A HREF="manual038.html#htoc165">7.15.1&nbsp;&nbsp;<TT>read_term_from_atom/3</TT>,
 <TT>read_from_atom/2</TT>,
 <TT>read_token_from_atom/2</TT></A>
<LI><A HREF="manual038.html#htoc166">7.15.2&nbsp;&nbsp;<TT>read_term_from_chars/3</TT>,
 <TT>read_from_chars/2</TT>,
 <TT>read_token_from_chars/2</TT></A>
<LI><A HREF="manual038.html#htoc167">7.15.3&nbsp;&nbsp;<TT>read_term_from_codes/3</TT>,
 <TT>read_from_codes/2</TT>,
 <TT>read_token_from_codes/2</TT></A>
<LI><A HREF="manual038.html#htoc168">7.15.4&nbsp;&nbsp;<TT>write_term_to_atom/3</TT>,
 <TT>write_to_atom/2</TT>,
 <TT>writeq_to_atom/2</TT>,<BR>
<TT>write_canonical_to_atom/2</TT>,
 <TT>display_to_atom/2</TT>, 
 <TT>print_to_atom/2</TT>,<BR>
<TT>format_to_atom/3</TT></A>
<LI><A HREF="manual038.html#htoc169">7.15.5&nbsp;&nbsp;<TT>write_term_to_chars/3</TT>,
 <TT>write_to_chars/2</TT>,
 <TT>writeq_to_chars/2</TT>,<BR>
<TT>write_canonical_to_chars/2</TT>, 
 <TT>display_to_chars/2</TT>,
 <TT>print_to_chars/2</TT>,<BR>
<TT>format_to_chars/3</TT></A>
<LI><A HREF="manual038.html#htoc170">7.15.6&nbsp;&nbsp;<TT>write_term_to_codes/3</TT>,
 <TT>write_to_codes/2</TT>,
 <TT>writeq_to_codes/2</TT>,<BR>
<TT>write_canonical_to_codes/2</TT>,
 <TT>display_to_codes/2</TT>,
 <TT>print_to_codes/2</TT>,<BR>
<TT>format_to_codes/3</TT></A>
</UL>
<LI><A HREF="manual039.html#htoc171">7.16&nbsp;&nbsp;DEC-10 compatibility input/output</A>
<UL><LI>
<A HREF="manual039.html#htoc172">7.16.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual039.html#htoc173">7.16.2&nbsp;&nbsp;<TT>see/1</TT>,
 <TT>tell/1</TT>,
 <TT>append/1</TT></A>
<LI><A HREF="manual039.html#htoc174">7.16.3&nbsp;&nbsp;<TT>seeing/1</TT>,
 <TT>telling/1</TT></A>
<LI><A HREF="manual039.html#htoc175">7.16.4&nbsp;&nbsp;<TT>seen/0</TT>,
 <TT>told/0</TT></A>
<LI><A HREF="manual039.html#htoc176">7.16.5&nbsp;&nbsp;<TT>get0/1</TT>,
 <TT>get/1</TT>,
 <TT>skip/1</TT></A>
<LI><A HREF="manual039.html#htoc177">7.16.6&nbsp;&nbsp;<TT>put/1</TT>,
 <TT>tab/1</TT></A>
</UL>
<LI><A HREF="manual040.html#htoc178">7.17&nbsp;&nbsp;Term expansion</A>
<UL><LI>
<A HREF="manual040.html#htoc179">7.17.1&nbsp;&nbsp;Definite clause grammars</A>
<LI><A HREF="manual040.html#htoc180">7.17.2&nbsp;&nbsp;<TT>expand_term/2</TT>,
 <TT>term_expansion/2</TT></A>
<LI><A HREF="manual040.html#htoc181">7.17.3&nbsp;&nbsp;<TT>phrase/3</TT>,
 <TT>phrase/2</TT></A>
</UL>
<LI><A HREF="manual041.html#htoc182">7.18&nbsp;&nbsp;Logic, control and exceptions</A>
<UL><LI>
<A HREF="manual041.html#htoc183">7.18.1&nbsp;&nbsp;<TT>abort/0</TT>,
 <TT>stop/0</TT>,
 <TT>top_level/0</TT>,
 <TT>break/0</TT>,
 <TT>halt/1</TT>,
 <TT>halt/0</TT></A>
<LI><A HREF="manual041.html#htoc184">7.18.2&nbsp;&nbsp;<TT>once/1</TT>, <TT>(\+)/1</TT> - not provable,
 <TT>call_with_args/1-11</TT>, <TT>call/2</TT></A>
<LI><A HREF="manual041.html#htoc185">7.18.3&nbsp;&nbsp;<TT>repeat/0</TT></A>
<LI><A HREF="manual041.html#htoc186">7.18.4&nbsp;&nbsp;<TT>for/3</TT></A>
</UL>
<LI><A HREF="manual042.html#htoc187">7.19&nbsp;&nbsp;Atomic term processing</A>
<UL><LI>
<A HREF="manual042.html#htoc188">7.19.1&nbsp;&nbsp;<TT>atom_length/2</TT></A>
<LI><A HREF="manual042.html#htoc189">7.19.2&nbsp;&nbsp;<TT>atom_concat/3</TT></A>
<LI><A HREF="manual042.html#htoc190">7.19.3&nbsp;&nbsp;<TT>sub_atom/5</TT></A>
<LI><A HREF="manual042.html#htoc191">7.19.4&nbsp;&nbsp;<TT>char_code/2</TT></A>
<LI><A HREF="manual042.html#htoc192">7.19.5&nbsp;&nbsp;<TT>lower_upper/2</TT></A>
<LI><A HREF="manual042.html#htoc193">7.19.6&nbsp;&nbsp;<TT>atom_chars/2</TT>,
 <TT>atom_codes/2</TT></A>
<LI><A HREF="manual042.html#htoc194">7.19.7&nbsp;&nbsp;<TT>number_atom/2</TT>,
 <TT>number_chars/2</TT>,
 <TT>number_codes/2</TT></A>
<LI><A HREF="manual042.html#htoc195">7.19.8&nbsp;&nbsp;<TT>name/2</TT></A>
<LI><A HREF="manual042.html#htoc196">7.19.9&nbsp;&nbsp;<TT>atom_hash/2</TT></A>
<LI><A HREF="manual042.html#htoc197">7.19.10&nbsp;&nbsp;<TT>new_atom/3</TT>,
 <TT>new_atom/2</TT>,
 <TT>new_atom/1</TT></A>
<LI><A HREF="manual042.html#htoc198">7.19.11&nbsp;&nbsp;<TT>current_atom/1</TT></A>
<LI><A HREF="manual042.html#htoc199">7.19.12&nbsp;&nbsp;<TT>atom_property/2</TT></A>
</UL>
<LI><A HREF="manual043.html#htoc200">7.20&nbsp;&nbsp;List processing</A>
<UL><LI>
<A HREF="manual043.html#htoc201">7.20.1&nbsp;&nbsp;<TT>append/3</TT></A>
<LI><A HREF="manual043.html#htoc202">7.20.2&nbsp;&nbsp;<TT>member/2</TT>,
 <TT>memberchk/2</TT></A>
<LI><A HREF="manual043.html#htoc203">7.20.3&nbsp;&nbsp;<TT>reverse/2</TT></A>
<LI><A HREF="manual043.html#htoc204">7.20.4&nbsp;&nbsp;<TT>delete/3</TT>,
 <TT>select/3</TT></A>
<LI><A HREF="manual043.html#htoc205">7.20.5&nbsp;&nbsp;<TT>permutation/2</TT></A>
<LI><A HREF="manual043.html#htoc206">7.20.6&nbsp;&nbsp;<TT>prefix/2</TT>,
 <TT>suffix/2</TT></A>
<LI><A HREF="manual043.html#htoc207">7.20.7&nbsp;&nbsp;<TT>sublist/2</TT></A>
<LI><A HREF="manual043.html#htoc208">7.20.8&nbsp;&nbsp;<TT>last/2</TT></A>
<LI><A HREF="manual043.html#htoc209">7.20.9&nbsp;&nbsp;<TT>length/2</TT></A>
<LI><A HREF="manual043.html#htoc210">7.20.10&nbsp;&nbsp;<TT>nth/3</TT></A>
<LI><A HREF="manual043.html#htoc211">7.20.11&nbsp;&nbsp;<TT>max_list/2</TT>,
 <TT>min_list/2</TT>,
 <TT>sum_list/2</TT></A>
<LI><A HREF="manual043.html#htoc212">7.20.12&nbsp;&nbsp;<TT>sort/2</TT>,
 <TT>sort0/2</TT>,
 <TT>keysort/2</TT>
 <TT>sort/1</TT>,
 <TT>sort0/1</TT>,
 <TT>keysort/1</TT></A>
</UL>
<LI><A HREF="manual044.html#htoc213">7.21&nbsp;&nbsp;Global variables</A>
<UL><LI>
<A HREF="manual044.html#htoc214">7.21.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual044.html#htoc215">7.21.2&nbsp;&nbsp;<TT>g_assign/2</TT>,
 <TT>g_assignb/2</TT>,
 <TT>g_link/2</TT></A>
<LI><A HREF="manual044.html#htoc216">7.21.3&nbsp;&nbsp;<TT>g_read/2</TT></A>
<LI><A HREF="manual044.html#htoc217">7.21.4&nbsp;&nbsp;<TT>g_array_size/2</TT></A>
<LI><A HREF="manual044.html#htoc218">7.21.5&nbsp;&nbsp;<TT>g_inc/3</TT>,
 <TT>g_inc/2</TT>,
 <TT>g_inco/2</TT>,
 <TT>g_inc/1</TT>,
 <TT>g_dec/3</TT>,
 <TT>g_dec/2</TT>,
 <TT>g_deco/2</TT>,
 <TT>g_dec/1</TT></A>
<LI><A HREF="manual044.html#htoc219">7.21.6&nbsp;&nbsp;<TT>g_set_bit/2</TT>,
 <TT>g_reset_bit/2</TT>,
 <TT>g_test_set_bit/2</TT>,
 <TT>g_test_reset_bit/2</TT></A>
<LI><A HREF="manual044.html#htoc220">7.21.7&nbsp;&nbsp;Examples</A>
</UL>
<LI><A HREF="manual045.html#htoc221">7.22&nbsp;&nbsp;Prolog state</A>
<UL><LI>
<A HREF="manual045.html#htoc222">7.22.1&nbsp;&nbsp;<TT>set_prolog_flag/2</TT></A>
<LI><A HREF="manual045.html#htoc223">7.22.2&nbsp;&nbsp;<TT>current_prolog_flag/2</TT></A>
<LI><A HREF="manual045.html#htoc224">7.22.3&nbsp;&nbsp;<TT>set_bip_name/2</TT></A>
<LI><A HREF="manual045.html#htoc225">7.22.4&nbsp;&nbsp;<TT>current_bip_name/2</TT></A>
<LI><A HREF="manual045.html#htoc226">7.22.5&nbsp;&nbsp;<TT>write_pl_state_file/1</TT>,
 <TT>read_pl_state_file/1</TT></A>
</UL>
<LI><A HREF="manual046.html#htoc227">7.23&nbsp;&nbsp;Program state</A>
<UL><LI>
<A HREF="manual046.html#htoc228">7.23.1&nbsp;&nbsp;<TT>consult/1</TT>,
 <TT>'.'/2</TT> - program consult</A>
<LI><A HREF="manual046.html#htoc229">7.23.2&nbsp;&nbsp;<TT>load/1</TT></A>
<LI><A HREF="manual046.html#htoc230">7.23.3&nbsp;&nbsp;<TT>listing/1</TT>,
 <TT>listing/0</TT></A>
</UL>
<LI><A HREF="manual047.html#htoc231">7.24&nbsp;&nbsp;System statistics</A>
<UL><LI>
<A HREF="manual047.html#htoc232">7.24.1&nbsp;&nbsp;<TT>statistics/0</TT>,
 <TT>statistics/2</TT></A>
<LI><A HREF="manual047.html#htoc233">7.24.2&nbsp;&nbsp;<TT>user_time/1</TT>,
 <TT>system_time/1</TT>,
 <TT>cpu_time/1</TT>,
 <TT>real_time/1</TT></A>
</UL>
<LI><A HREF="manual048.html#htoc234">7.25&nbsp;&nbsp;Random number generator</A>
<UL><LI>
<A HREF="manual048.html#htoc235">7.25.1&nbsp;&nbsp;<TT>set_seed/1</TT>,
 <TT>randomize/0</TT></A>
<LI><A HREF="manual048.html#htoc236">7.25.2&nbsp;&nbsp;<TT>get_seed/1</TT></A>
<LI><A HREF="manual048.html#htoc237">7.25.3&nbsp;&nbsp;<TT>random/1</TT></A>
<LI><A HREF="manual048.html#htoc238">7.25.4&nbsp;&nbsp;<TT>random/3</TT></A>
</UL>
<LI><A HREF="manual049.html#htoc239">7.26&nbsp;&nbsp;File name processing</A>
<UL><LI>
<A HREF="manual049.html#htoc240">7.26.1&nbsp;&nbsp;<TT>absolute_file_name/2</TT></A>
<LI><A HREF="manual049.html#htoc241">7.26.2&nbsp;&nbsp;<TT>decompose_file_name/4</TT></A>
<LI><A HREF="manual049.html#htoc242">7.26.3&nbsp;&nbsp;<TT>prolog_file_name/2</TT></A>
</UL>
<LI><A HREF="manual050.html#htoc243">7.27&nbsp;&nbsp;Operating system interface</A>
<UL><LI>
<A HREF="manual050.html#htoc244">7.27.1&nbsp;&nbsp;<TT>argument_counter/1</TT></A>
<LI><A HREF="manual050.html#htoc245">7.27.2&nbsp;&nbsp;<TT>argument_value/2</TT></A>
<LI><A HREF="manual050.html#htoc246">7.27.3&nbsp;&nbsp;<TT>argument_list/1</TT></A>
<LI><A HREF="manual050.html#htoc247">7.27.4&nbsp;&nbsp;<TT>environ/2</TT></A>
<LI><A HREF="manual050.html#htoc248">7.27.5&nbsp;&nbsp;<TT>make_directory/1</TT>,
 <TT>delete_directory/1</TT>,
 <TT>change_directory/1</TT></A>
<LI><A HREF="manual050.html#htoc249">7.27.6&nbsp;&nbsp;<TT>working_directory/1</TT></A>
<LI><A HREF="manual050.html#htoc250">7.27.7&nbsp;&nbsp;<TT>directory_files/2</TT></A>
<LI><A HREF="manual050.html#htoc251">7.27.8&nbsp;&nbsp;<TT>rename_file/2</TT></A>
<LI><A HREF="manual050.html#htoc252">7.27.9&nbsp;&nbsp;<TT>delete_file/1</TT>,
 <TT>unlink/1</TT></A>
<LI><A HREF="manual050.html#htoc253">7.27.10&nbsp;&nbsp;<TT>file_permission/2</TT>,
 <TT>file_exists/1</TT></A>
<LI><A HREF="manual050.html#htoc254">7.27.11&nbsp;&nbsp;<TT>file_property/2</TT></A>
<LI><A HREF="manual050.html#htoc255">7.27.12&nbsp;&nbsp;<TT>temporary_name/2</TT></A>
<LI><A HREF="manual050.html#htoc256">7.27.13&nbsp;&nbsp;<TT>temporary_file/3</TT></A>
<LI><A HREF="manual050.html#htoc257">7.27.14&nbsp;&nbsp;<TT>date_time/1</TT></A>
<LI><A HREF="manual050.html#htoc258">7.27.15&nbsp;&nbsp;<TT>host_name/1</TT></A>
<LI><A HREF="manual050.html#htoc259">7.27.16&nbsp;&nbsp;<TT>os_version/1</TT></A>
<LI><A HREF="manual050.html#htoc260">7.27.17&nbsp;&nbsp;<TT>architecture/1</TT></A>
<LI><A HREF="manual050.html#htoc261">7.27.18&nbsp;&nbsp;<TT>shell/2</TT>,
 <TT>shell/1</TT>,
 <TT>shell/0</TT></A>
<LI><A HREF="manual050.html#htoc262">7.27.19&nbsp;&nbsp;<TT>system/2</TT>,
 <TT>system/1</TT></A>
<LI><A HREF="manual050.html#htoc263">7.27.20&nbsp;&nbsp;<TT>spawn/3</TT>,
 <TT>spawn/2</TT></A>
<LI><A HREF="manual050.html#htoc264">7.27.21&nbsp;&nbsp;<TT>popen/3</TT></A>
<LI><A HREF="manual050.html#htoc265">7.27.22&nbsp;&nbsp;<TT>exec/5</TT>,
 <TT>exec/4</TT></A>
<LI><A HREF="manual050.html#htoc266">7.27.23&nbsp;&nbsp;<TT>fork_prolog/1</TT></A>
<LI><A HREF="manual050.html#htoc267">7.27.24&nbsp;&nbsp;<TT>create_pipe/2</TT></A>
<LI><A HREF="manual050.html#htoc268">7.27.25&nbsp;&nbsp;<TT>wait/2</TT></A>
<LI><A HREF="manual050.html#htoc269">7.27.26&nbsp;&nbsp;<TT>prolog_pid/1</TT></A>
<LI><A HREF="manual050.html#htoc270">7.27.27&nbsp;&nbsp;<TT>send_signal/2</TT></A>
<LI><A HREF="manual050.html#htoc271">7.27.28&nbsp;&nbsp;<TT>sleep/1</TT></A>
<LI><A HREF="manual050.html#htoc272">7.27.29&nbsp;&nbsp;<TT>select/5</TT></A>
</UL>
<LI><A HREF="manual051.html#htoc273">7.28&nbsp;&nbsp;Sockets input/output</A>
<UL><LI>
<A HREF="manual051.html#htoc274">7.28.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual051.html#htoc275">7.28.2&nbsp;&nbsp;<TT>socket/2</TT></A>
<LI><A HREF="manual051.html#htoc276">7.28.3&nbsp;&nbsp;<TT>socket_close/1</TT></A>
<LI><A HREF="manual051.html#htoc277">7.28.4&nbsp;&nbsp;<TT>socket_bind/2</TT></A>
<LI><A HREF="manual051.html#htoc278">7.28.5&nbsp;&nbsp;<TT>socket_connect/4</TT></A>
<LI><A HREF="manual051.html#htoc279">7.28.6&nbsp;&nbsp;<TT>socket_listen/2</TT></A>
<LI><A HREF="manual051.html#htoc280">7.28.7&nbsp;&nbsp;<TT>socket_accept/4</TT>,
 <TT>socket_accept/3</TT></A>
<LI><A HREF="manual051.html#htoc281">7.28.8&nbsp;&nbsp;<TT>hostname_address/2</TT></A>
</UL>
<LI><A HREF="manual052.html#htoc282">7.29&nbsp;&nbsp;Linedit management</A>
<UL><LI>
<A HREF="manual052.html#htoc283">7.29.1&nbsp;&nbsp;<TT>get_linedit_prompt/1</TT></A>
<LI><A HREF="manual052.html#htoc284">7.29.2&nbsp;&nbsp;<TT>set_linedit_prompt/1</TT></A>
<LI><A HREF="manual052.html#htoc285">7.29.3&nbsp;&nbsp;<TT>add_linedit_completion/1</TT></A>
<LI><A HREF="manual052.html#htoc286">7.29.4&nbsp;&nbsp;<TT>find_linedit_completion/2</TT></A>
</UL>
<LI><A HREF="manual053.html#htoc287">7.30&nbsp;&nbsp;Source reader facility</A>
<UL><LI>
<A HREF="manual053.html#htoc288">7.30.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual053.html#htoc289">7.30.2&nbsp;&nbsp;<TT>sr_open/3</TT></A>
<LI><A HREF="manual053.html#htoc290">7.30.3&nbsp;&nbsp;<TT>sr_change_options/2</TT></A>
<LI><A HREF="manual053.html#htoc291">7.30.4&nbsp;&nbsp;<TT>sr_close/1</TT></A>
<LI><A HREF="manual053.html#htoc292">7.30.5&nbsp;&nbsp;<TT>sr_read_term/4</TT></A>
<LI><A HREF="manual053.html#htoc293">7.30.6&nbsp;&nbsp;<TT>sr_current_descriptor/1</TT></A>
<LI><A HREF="manual053.html#htoc294">7.30.7&nbsp;&nbsp;<TT>sr_get_stream/2</TT></A>
<LI><A HREF="manual053.html#htoc295">7.30.8&nbsp;&nbsp;<TT>sr_get_module/3</TT></A>
<LI><A HREF="manual053.html#htoc296">7.30.9&nbsp;&nbsp;<TT>sr_get_file_name/2</TT></A>
<LI><A HREF="manual053.html#htoc297">7.30.10&nbsp;&nbsp;<TT>sr_get_position/3</TT></A>
<LI><A HREF="manual053.html#htoc298">7.30.11&nbsp;&nbsp;<TT>sr_get_include_list/2</TT></A>
<LI><A HREF="manual053.html#htoc299">7.30.12&nbsp;&nbsp;<TT>sr_get_include_stream_list/2</TT></A>
<LI><A HREF="manual053.html#htoc300">7.30.13&nbsp;&nbsp;<TT>sr_get_size_counters/3</TT></A>
<LI><A HREF="manual053.html#htoc301">7.30.14&nbsp;&nbsp;<TT>sr_get_error_counters/3</TT></A>
<LI><A HREF="manual053.html#htoc302">7.30.15&nbsp;&nbsp;<TT>sr_set_error_counters/3</TT></A>
<LI><A HREF="manual053.html#htoc303">7.30.16&nbsp;&nbsp;<TT>sr_error_from_exception/2</TT></A>
<LI><A HREF="manual053.html#htoc304">7.30.17&nbsp;&nbsp;<TT>sr_write_message/8</TT>,
 <TT>sr_write_message/6</TT>,
 <TT>sr_write_message/4</TT></A>
<LI><A HREF="manual053.html#htoc305">7.30.18&nbsp;&nbsp;<TT>sr_write_error/6</TT>,
 <TT>sr_write_error/4</TT>,
 <TT>sr_write_error/2</TT></A>
</UL>
</UL>
<LI><A HREF="manual054.html#htoc306">8&nbsp;&nbsp;Finite domain solver and built-in predicates</A>
<UL><LI>
<A HREF="manual055.html#htoc307">8.1&nbsp;&nbsp;Introduction</A>
<UL><LI>
<A HREF="manual055.html#htoc308">8.1.1&nbsp;&nbsp;Finite Domain variables</A>
</UL>
<LI><A HREF="manual056.html#htoc309">8.2&nbsp;&nbsp;FD variable parameters</A>
<UL><LI>
<A HREF="manual056.html#htoc310">8.2.1&nbsp;&nbsp;<TT>fd_max_integer/1</TT></A>
<LI><A HREF="manual056.html#htoc311">8.2.2&nbsp;&nbsp;<TT>fd_vector_max/1</TT></A>
<LI><A HREF="manual056.html#htoc312">8.2.3&nbsp;&nbsp;<TT>fd_set_vector_max/1</TT></A>
</UL>
<LI><A HREF="manual057.html#htoc313">8.3&nbsp;&nbsp;Initial value constraints</A>
<UL><LI>
<A HREF="manual057.html#htoc314">8.3.1&nbsp;&nbsp;<TT>fd_domain/3</TT>,
 <TT>fd_domain_bool/1</TT></A>
<LI><A HREF="manual057.html#htoc315">8.3.2&nbsp;&nbsp;<TT>fd_domain/2</TT></A>
</UL>
<LI><A HREF="manual058.html#htoc316">8.4&nbsp;&nbsp;Type testing</A>
<UL><LI>
<A HREF="manual058.html#htoc317">8.4.1&nbsp;&nbsp;<TT>fd_var/1</TT>, <TT>non_fd_var/1</TT>, 
 <TT>generic_var/1</TT>,
 <TT>non_generic_var/1</TT></A>
</UL>
<LI><A HREF="manual059.html#htoc318">8.5&nbsp;&nbsp;FD variable information</A>
<UL><LI>
<A HREF="manual059.html#htoc319">8.5.1&nbsp;&nbsp;<TT>fd_min/2</TT>,
 <TT>fd_max/2</TT>,
 <TT>fd_size/2</TT>,
 <TT>fd_dom/2</TT></A>
<LI><A HREF="manual059.html#htoc320">8.5.2&nbsp;&nbsp;<TT>fd_has_extra_cstr/1</TT>,
 <TT>fd_has_vector/1</TT>,
 <TT>fd_use_vector/1</TT></A>
</UL>
<LI><A HREF="manual060.html#htoc321">8.6&nbsp;&nbsp;Arithmetic constraints</A>
<UL><LI>
<A HREF="manual060.html#htoc322">8.6.1&nbsp;&nbsp;FD arithmetic expressions</A>
<LI><A HREF="manual060.html#htoc323">8.6.2&nbsp;&nbsp;Partial AC: <TT>(#=)/2</TT> - constraint equal,
 <TT>(#\=)/2</TT> - constraint not equal,<BR>
<TT>(#&lt;)/2</TT> - constraint less than,
 <TT>(#=&lt;)/2</TT> - constraint less than or equal,<BR>
<TT>(#&gt;)/2</TT> - constraint greater than,
 <TT>(#&gt;=)/2</TT> - constraint greater than or equal</A>
<LI><A HREF="manual060.html#htoc324">8.6.3&nbsp;&nbsp;Full AC: <TT>(#=#)/2</TT> - constraint equal,
 <TT>(#\=#)/2</TT> - constraint not equal,<BR>
<TT>(#&lt;#)/2</TT> - constraint less than,
 <TT>(#=&lt;#)/2</TT> - constraint less than or equal,<BR>
<TT>(#&gt;#)/2</TT> - constraint greater than,
 <TT>(#&gt;=#)/2</TT> - constraint greater than or equal</A>
<LI><A HREF="manual060.html#htoc325">8.6.4&nbsp;&nbsp;<TT>fd_prime/1</TT>,
 <TT>fd_not_prime/1</TT></A>
</UL>
<LI><A HREF="manual061.html#htoc326">8.7&nbsp;&nbsp;Boolean and reified constraints</A>
<UL><LI>
<A HREF="manual061.html#htoc327">8.7.1&nbsp;&nbsp;Boolean FD expressions</A>
<LI><A HREF="manual061.html#htoc328">8.7.2&nbsp;&nbsp;<TT>(#\)/1</TT> - constraint NOT,
 <TT>(#&lt;=&gt;)/2</TT> - constraint equivalent,<BR>
<TT>(#\&lt;=&gt;)/2</TT> - constraint different,
 <TT>(##)/2</TT> - constraint XOR,<BR>
<TT>(#==&gt;)/2</TT> - constraint imply,
 <TT>(#\==&gt;)/2</TT> - constraint not imply,<BR>
<TT>(#/\)/2</TT> - constraint AND,
 <TT>(#\/\)/2</TT> - constraint NAND,<BR>
<TT>(#\/)/2</TT> - constraint OR,
 <TT>(#\\/)/2</TT> - constraint NOR</A>
<LI><A HREF="manual061.html#htoc329">8.7.3&nbsp;&nbsp;<TT>fd_cardinality/2</TT>,
 <TT>fd_cardinality/3</TT>,
 <TT>fd_at_least_one/1</TT>,
 <TT>fd_at_most_one/1</TT>,<BR>
<TT>fd_only_one/1</TT></A>
</UL>
<LI><A HREF="manual062.html#htoc330">8.8&nbsp;&nbsp;Symbolic constraints</A>
<UL><LI>
<A HREF="manual062.html#htoc331">8.8.1&nbsp;&nbsp;<TT>fd_all_different/1</TT></A>
<LI><A HREF="manual062.html#htoc332">8.8.2&nbsp;&nbsp;<TT>fd_element/3</TT></A>
<LI><A HREF="manual062.html#htoc333">8.8.3&nbsp;&nbsp;<TT>fd_element_var/3</TT></A>
<LI><A HREF="manual062.html#htoc334">8.8.4&nbsp;&nbsp;<TT>fd_atmost/3</TT>,
 <TT>fd_atleast/3</TT>,
 <TT>fd_exactly/3</TT></A>
<LI><A HREF="manual062.html#htoc335">8.8.5&nbsp;&nbsp;<TT>fd_relation/2</TT>,
 <TT>fd_relationc/2</TT></A>
</UL>
<LI><A HREF="manual063.html#htoc336">8.9&nbsp;&nbsp;Labeling constraints</A>
<UL><LI>
<A HREF="manual063.html#htoc337">8.9.1&nbsp;&nbsp;<TT>fd_labeling/2</TT>,
 <TT>fd_labeling/1</TT>,
 <TT>fd_labelingff/1</TT></A>
</UL>
<LI><A HREF="manual064.html#htoc338">8.10&nbsp;&nbsp;Optimization constraints</A>
<UL><LI>
<A HREF="manual064.html#htoc339">8.10.1&nbsp;&nbsp;<TT>fd_minimize/2</TT>,
 <TT>fd_maximize/2</TT></A>
</UL>
</UL>
<LI><A HREF="manual065.html#htoc340">9&nbsp;&nbsp;Interfacing Prolog and C</A>
<UL><LI>
<A HREF="manual066.html#htoc341">9.1&nbsp;&nbsp;Calling C from Prolog</A>
<UL><LI>
<A HREF="manual066.html#htoc342">9.1.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual066.html#htoc343">9.1.2&nbsp;&nbsp;<TT>foreign/2</TT> directive</A>
<LI><A HREF="manual066.html#htoc344">9.1.3&nbsp;&nbsp;The C function</A>
<LI><A HREF="manual066.html#htoc345">9.1.4&nbsp;&nbsp;Input arguments</A>
<LI><A HREF="manual066.html#htoc346">9.1.5&nbsp;&nbsp;Output arguments</A>
<LI><A HREF="manual066.html#htoc347">9.1.6&nbsp;&nbsp;Input/output arguments</A>
<LI><A HREF="manual066.html#htoc348">9.1.7&nbsp;&nbsp;Writing non-deterministic C code</A>
<LI><A HREF="manual066.html#htoc349">9.1.8&nbsp;&nbsp;Example: input and output arguments</A>
<LI><A HREF="manual066.html#htoc350">9.1.9&nbsp;&nbsp;Example: non-deterministic code</A>
<LI><A HREF="manual066.html#htoc351">9.1.10&nbsp;&nbsp;Example: input/output arguments</A>
</UL>
<LI><A HREF="manual067.html#htoc352">9.2&nbsp;&nbsp;Manipulating Prolog terms</A>
<UL><LI>
<A HREF="manual067.html#htoc353">9.2.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual067.html#htoc354">9.2.2&nbsp;&nbsp;Managing Prolog atoms</A>
<LI><A HREF="manual067.html#htoc355">9.2.3&nbsp;&nbsp;Reading Prolog terms</A>
<LI><A HREF="manual067.html#htoc356">9.2.4&nbsp;&nbsp;Unifying Prolog terms</A>
<LI><A HREF="manual067.html#htoc357">9.2.5&nbsp;&nbsp;Creating Prolog terms</A>
<LI><A HREF="manual067.html#htoc358">9.2.6&nbsp;&nbsp;Testing the type of Prolog terms</A>
<LI><A HREF="manual067.html#htoc359">9.2.7&nbsp;&nbsp;Comparing Prolog terms</A>
<LI><A HREF="manual067.html#htoc360">9.2.8&nbsp;&nbsp;Copying Prolog terms</A>
<LI><A HREF="manual067.html#htoc361">9.2.9&nbsp;&nbsp;Comparing and evaluating arithmetic expressions</A>
</UL>
<LI><A HREF="manual068.html#htoc362">9.3&nbsp;&nbsp;Raising Prolog errors</A>
<UL><LI>
<A HREF="manual068.html#htoc363">9.3.1&nbsp;&nbsp;Managing the error context</A>
<LI><A HREF="manual068.html#htoc364">9.3.2&nbsp;&nbsp;Instantiation error</A>
<LI><A HREF="manual068.html#htoc365">9.3.3&nbsp;&nbsp;Type error</A>
<LI><A HREF="manual068.html#htoc366">9.3.4&nbsp;&nbsp;Domain error</A>
<LI><A HREF="manual068.html#htoc367">9.3.5&nbsp;&nbsp;Existence error</A>
<LI><A HREF="manual068.html#htoc368">9.3.6&nbsp;&nbsp;Permission error</A>
<LI><A HREF="manual068.html#htoc369">9.3.7&nbsp;&nbsp;Representation error</A>
<LI><A HREF="manual068.html#htoc370">9.3.8&nbsp;&nbsp;Evaluation error</A>
<LI><A HREF="manual068.html#htoc371">9.3.9&nbsp;&nbsp;Resource error</A>
<LI><A HREF="manual068.html#htoc372">9.3.10&nbsp;&nbsp;Syntax error</A>
<LI><A HREF="manual068.html#htoc373">9.3.11&nbsp;&nbsp;System error</A>
</UL>
<LI><A HREF="manual069.html#htoc374">9.4&nbsp;&nbsp;Calling Prolog from C</A>
<UL><LI>
<A HREF="manual069.html#htoc375">9.4.1&nbsp;&nbsp;Introduction</A>
<LI><A HREF="manual069.html#htoc376">9.4.2&nbsp;&nbsp;Example: <TT>my_call/1</TT> - a <TT>call/1</TT> clone</A>
<LI><A HREF="manual069.html#htoc377">9.4.3&nbsp;&nbsp;Example: recovering the list of all operators</A>
</UL>
<LI><A HREF="manual070.html#htoc378">9.5&nbsp;&nbsp;Defining a new C <TT>main()</TT> function</A>
<UL><LI>
<A HREF="manual070.html#htoc379">9.5.1&nbsp;&nbsp;Example: asking for ancestors</A>
</UL>
</UL>
<LI><A HREF="manual071.html#@biblio">References</A>
<LI><A HREF="manual-idx.html#@index">Index</A>
</UL>



<HR SIZE=2>
Copyright (C) 1999-2002 Daniel Diaz
<BR>
<BR>
Verbatim copying and distribution of this entire article is permitted in any
medium, provided this notice is preserved. <BR>
<BR>
<A HREF="index.html#copyright">More about the copyright</A>
<HR>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<A HREF="manual002.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
</BODY>
</HTML>