Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > by-pkgid > 2fc07611b08d4a735fd34d5eb60d8e16 > files > 2276

ciao-1.10p8-3mdv2010.0.i586.rpm

<HTML>
<HEAD>
<!-- Created by texi2html 1.56k + clip patches and <A href="http://www.clip.dia.fi.upm.es/Software">lpdoc</A> from ciao.texi on 28 January 2007 -->

<LINK rel="stylesheet" href="ciao.css" type="text/css">
<TITLE>The Ciao Prolog System               - Pure Prolog package</TITLE>
</HEAD>
<BODY> 
Go to the <A HREF="ciao_1.html">first</A>, <A HREF="ciao_94.html">previous</A>, <A HREF="ciao_96.html">next</A>, <A HREF="ciao_241.html">last</A> section, <A HREF="ciao_toc.html">table of contents</A>.
<P><HR><P>


<H1><A NAME="SEC396" HREF="ciao_toc.html#TOC396">Pure Prolog package</A></H1>
<P>
<A NAME="IDX5250"></A>


<P>
<STRONG>Author(s):</STRONG> The CLIP Group.


<P>
<STRONG>Version:</STRONG> 1.10#7 (2006/4/26, 19:22:13 CEST)


<P>
<STRONG>Version of last change:</STRONG> 1.9#224 (2003/12/21, 20:16:18 CET)


<P>
This library package allows the use of 
<A NAME="IDX5251"></A>
<A NAME="IDX5252"></A>
<EM>pure Prolog</EM> in a Ciao module/program. It is based on the fact that if an 
<A NAME="IDX5253"></A>
<A NAME="IDX5254"></A>
<EM>engine module</EM> is imported explicitly then all of them have to be imported explicitly. The engine modules are: 

<UL>
<LI><CODE>engine(arithmetic)</CODE>

section <A HREF="ciao_23.html#SEC150">Arithmetic</A>. 
<LI><CODE>engine(atomic_basic)</CODE>

section <A HREF="ciao_22.html#SEC147">Basic predicates handling names of constants</A>. 
<LI><CODE>engine(attributes)</CODE>

section <A HREF="ciao_31.html#SEC178">Attributed variables</A>. 
<LI><CODE>engine(basic_props)</CODE>

section <A HREF="ciao_18.html#SEC135">Basic data types and properties</A>. 
<LI><CODE>engine(basiccontrol)</CODE>

section <A HREF="ciao_16.html#SEC128">Control constructs/predicates</A>. 
<LI><CODE>engine(data_facts)</CODE>

section <A HREF="ciao_28.html#SEC167">Fast/concurrent update of facts</A>. 
<LI><CODE>engine(exceptions)</CODE>

section <A HREF="ciao_26.html#SEC160">Exception handling</A>. 
<LI><CODE>engine(io_aux)</CODE>

section <A HREF="ciao_30.html#SEC174">Message printing primitives</A>. 
<LI><CODE>engine(io_basic)</CODE>

section <A HREF="ciao_25.html#SEC157">Basic input/output</A>. 
<LI><CODE>engine(prolog_flags)</CODE>

section <A HREF="ciao_27.html#SEC163">Changing system behaviour and various flags</A>. 
<LI><CODE>engine(streams_basic)</CODE>

section <A HREF="ciao_24.html#SEC153">Basic file/stream handling</A>. 
<LI><CODE>engine(system_info)</CODE>

section <A HREF="ciao_32.html#SEC183">Gathering some basic internal info</A>. 
<LI><CODE>engine(term_basic)</CODE>

section <A HREF="ciao_20.html#SEC141">Basic term manipulation</A>. 
<LI><CODE>engine(term_compare)</CODE>

section <A HREF="ciao_21.html#SEC144">Comparing terms</A>. 
<LI><CODE>engine(term_typing)</CODE>

section <A HREF="ciao_19.html#SEC138">Extra-logical properties for typing</A>. 
</UL>

<P>
Note that if any of these modules is explicitely imported in a program then the language defaults to Pure Prolog, plus the functionality added by the modules explicitely imported. 


<P>
It is recommended that if you explicitely import an engine module you also use this package, which will guarantee that the predicate <CODE>true/0</CODE> is defined (note that this is the only Ciao builtin which cannot be redefined). 



<UL>
<LI><A HREF="ciao_95.html#SEC397">Usage and interface (pure)</A>
<LI><A HREF="ciao_95.html#SEC398">Known bugs and planned improvements (pure)</A>
</UL>



<H2><A NAME="SEC397" HREF="ciao_toc.html#TOC397">Usage and interface (<CODE>pure</CODE>)</A></H2>

<div class="cartouche">

<UL>

<LI><STRONG>Library usage:</STRONG>

<CODE>:- use_package(pure).</CODE>

or

<CODE>:- module(...,...,[pure]).</CODE>
</UL>

</div class="cartouche">



<H2><A NAME="SEC398" HREF="ciao_toc.html#TOC398">Known bugs and planned improvements (<CODE>pure</CODE>)</A></H2>


<UL>

<LI>

Currently, the following builtin predicates/program constructs cannot be redefined, in addition to <CODE>true/0</CODE>: <CODE>(-&#62;)/2</CODE> <CODE>(,)/2</CODE> <CODE>(+)/1</CODE> <CODE>if/3</CODE>
</UL>

<P><HR><P>
Go to the <A HREF="ciao_1.html">first</A>, <A HREF="ciao_94.html">previous</A>, <A HREF="ciao_96.html">next</A>, <A HREF="ciao_241.html">last</A> section, <A HREF="ciao_toc.html">table of contents</A>.
</BODY>
</HTML>