Sophie

Sophie

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

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               - Identity lists</TITLE>
</HEAD>
<BODY> 
Go to the <A HREF="ciao_1.html">first</A>, <A HREF="ciao_165.html">previous</A>, <A HREF="ciao_167.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="SEC689" HREF="ciao_toc.html#TOC689">Identity lists</A></H1>
<P>
<A NAME="IDX7783"></A>


<P>
<STRONG>Author(s):</STRONG> Francisco Bueno.


<P>
<STRONG>Version:</STRONG> 1.9#266 (2004/1/1, 14:1:7 CET)


<P>
The operations in this module handle lists by performing equality checks via identity instead of unification.



<UL>
<LI><A HREF="ciao_166.html#SEC690">Usage and interface (idlists)</A>
<LI><A HREF="ciao_166.html#SEC691">Documentation on exports (idlists)</A>
</UL>



<H2><A NAME="SEC690" HREF="ciao_toc.html#TOC690">Usage and interface (<CODE>idlists</CODE>)</A></H2>

<div class="cartouche">

<UL>

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

<CODE>:- use_module(library(idlists)).</CODE>

<LI><STRONG>Exports:</STRONG>


<UL>

<LI><EM>Predicates:</EM>

<A NAME="IDX7784"></A>
<CODE>member_0/2</CODE>, 
<A NAME="IDX7785"></A>
<CODE>memberchk/2</CODE>, 
<A NAME="IDX7786"></A>
<CODE>list_insert/2</CODE>, 
<A NAME="IDX7787"></A>
<CODE>add_after/4</CODE>, 
<A NAME="IDX7788"></A>
<CODE>add_before/4</CODE>, 
<A NAME="IDX7789"></A>
<CODE>delete/3</CODE>, 
<A NAME="IDX7790"></A>
<CODE>subtract/3</CODE>, 
<A NAME="IDX7791"></A>
<CODE>union_idlists/3</CODE>.

</UL>

</UL>

</div class="cartouche">



<H2><A NAME="SEC691" HREF="ciao_toc.html#TOC691">Documentation on exports (<CODE>idlists</CODE>)</A></H2>
<P>
<A NAME="IDX7792"></A>
<A NAME="IDX7793"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>member_0/2:</B>
<DD><A NAME="IDX7794"></A>


<P>
<CODE>member_0(X, Xs)</CODE>


<P>
True iff memberchk/2 is true.


</DL>

<P>
<A NAME="IDX7795"></A>
<A NAME="IDX7796"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>memberchk/2:</B>
<DD><A NAME="IDX7797"></A>


<P>
<CODE>memberchk(X, Xs)</CODE>


<P>
Checks that <CODE>X</CODE> is an element of (list) <CODE>Xs</CODE>.


</DL>

<P>
<A NAME="IDX7798"></A>
<A NAME="IDX7799"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>list_insert/2:</B>
<DD><A NAME="IDX7800"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>list_insert(-List, +Term)</CODE>

<UL>
<LI><EM>Description:</EM> Adds <CODE>Term</CODE> to the end of (tail-opened) <CODE>List</CODE> if there is not an element in <CODE>List</CODE> identical to <CODE>Term</CODE>.

</UL>

</DL>

<P>
<A NAME="IDX7801"></A>
<A NAME="IDX7802"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>add_after/4:</B>
<DD><A NAME="IDX7803"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>add_after(+L0, +E0, +E, -L)</CODE>

<UL>
<LI><EM>Description:</EM> Adds element <CODE>E</CODE> after the first element identical to <CODE>E0</CODE> (or at end) of list <CODE>L0</CODE>, returning in <CODE>L</CODE> the new list.

</UL>

</DL>

<P>
<A NAME="IDX7804"></A>
<A NAME="IDX7805"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>add_before/4:</B>
<DD><A NAME="IDX7806"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>add_before(+L0, +E0, +E, -L)</CODE>

<UL>
<LI><EM>Description:</EM> Adds element <CODE>E</CODE> before the first element identical to <CODE>E0</CODE> (or at start) of list <CODE>L0</CODE>, returning in <CODE>L</CODE> the new list.

</UL>

</DL>

<P>
<A NAME="IDX7807"></A>
<A NAME="IDX7808"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>delete/3:</B>
<DD><A NAME="IDX7809"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>delete(+List, +Element, -Rest)</CODE>

<UL>
<LI><EM>Description:</EM> <CODE>Rest</CODE> has the same elements of <CODE>List</CODE> except for all the occurrences of elements identical to <CODE>Element</CODE>.

</UL>

</DL>

<P>
<A NAME="IDX7810"></A>
<A NAME="IDX7811"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>subtract/3:</B>
<DD><A NAME="IDX7812"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>subtract(+Set, +Set0, -Difference)</CODE>

<UL>
<LI><EM>Description:</EM> <CODE>Difference</CODE> has the same elements of <CODE>Set</CODE> except those which have an identical occurrence in <CODE>Set0</CODE>.

</UL>

</DL>

<P>
<A NAME="IDX7813"></A>
<A NAME="IDX7814"></A>
<DL>
<DT><span class="define">PREDICATE:</span> <B>union_idlists/3:</B>
<DD><A NAME="IDX7815"></A>


<P>
<STRONG>Usage:</STRONG> <CODE>union_idlists(+List1, +List2, -List)</CODE>

<UL>
<LI><EM>Description:</EM> <CODE>List</CODE> has the elements which are in <CODE>List1</CODE> but are not identical to an element in <CODE>List2</CODE> followed by the elements in <CODE>List2</CODE>.

</UL>

</DL>

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