This file is indexed.

/usr/share/mozart/doc/system/node44.html is in mozart-doc 1.4.0-8ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

1
2
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>9 Deep-guard Concurrent Constraint Combinators: Combinator</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node43.html#chapter.recordc">&lt;&lt; Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="node45.html#chapter.space">Next &gt;&gt;</A></TD></TR></TABLE><DIV id="chapter.combinator"><H1><A name="chapter.combinator">9 Deep-guard Concurrent Constraint Combinators: <CODE>Combinator</CODE></A></H1><P> This chapter describes deep-guard concurrent constraint combinators such as conditional and disjunction. Most combinators implemented by the module <CODE>Combinator</CODE> are available by convenient syntax and are described in <A href="../tutorial/node12.html#chapter.lp">Chapter&nbsp;12 of ``Tutorial of Oz''</A>. </P><DL><DT><CODE><SPAN class="string">'not'</SPAN></CODE> <A name="label471"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Combinator<SPAN class="keyword">.</SPAN><SPAN class="string">'not'</SPAN>&nbsp;</CODE><CODE>+<I>P</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>implements deep-negation where the nullary procedure <CODE><I>P</I></CODE> gives the statement to negate. </P><P> Is supported by special syntax. The statement </P><BLOCKQUOTE class="code"><CODE><SPAN class="keyword">not</SPAN>&nbsp;</CODE><CODE><I>S</I></CODE><CODE>&nbsp;<SPAN class="keyword">end</SPAN></CODE></BLOCKQUOTE><P> expands to </P><BLOCKQUOTE class="code"><CODE>{Combinator<SPAN class="keyword">.</SPAN><SPAN class="string">'not'</SPAN>&nbsp;<SPAN class="keyword">proc</SPAN><SPAN class="variablename">&nbsp;</SPAN>{<SPAN class="functionname">$</SPAN>}&nbsp;</CODE><CODE><I>S</I></CODE><CODE>&nbsp;<SPAN class="keyword">end</SPAN>}</CODE></BLOCKQUOTE><P> </P></DD><DT><CODE><SPAN class="string">'reify'</SPAN></CODE> <A name="label473"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Combinator<SPAN class="keyword">.</SPAN><SPAN class="string">'reify'</SPAN>&nbsp;</CODE><CODE>+<I>P</I></CODE><CODE>&nbsp;</CODE><CODE>$<I>D</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>implements deep-reification where the nullary procedure <CODE><I>P</I></CODE> gives the statement to reify. </P></DD><DT><CODE><SPAN class="string">'cond'</SPAN></CODE> <A name="label475"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Combinator<SPAN class="keyword">.</SPAN><SPAN class="string">'cond'</SPAN>&nbsp;</CODE><CODE>+<I>T</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>P</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>implements parallel concurrent conditional. </P></DD><DT><CODE><SPAN class="string">'or'</SPAN></CODE> <A name="label477"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Combinator<SPAN class="keyword">.</SPAN><SPAN class="string">'or'</SPAN>&nbsp;</CODE><CODE>+<I>T</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>implements disjunction. <CODE><I>T</I></CODE> is a tuple of either nullary or unary procedures. The special syntax statement </P><BLOCKQUOTE class="code"><CODE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">or</SPAN>&nbsp;</CODE><CODE><I>S1</I></CODE><CODE>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">[]</SPAN>&nbsp;</CODE><CODE><I>S2</I></CODE><CODE>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">[]</SPAN>&nbsp;</CODE><CODE><I>S3</I></CODE><CODE>&nbsp;<SPAN class="keyword">then</SPAN>&nbsp;</CODE><CODE><I>S4</I></CODE><CODE>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">end</SPAN>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</CODE></BLOCKQUOTE><P> corresponds to the following </P><BLOCKQUOTE class="code"><CODE>&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">local</SPAN>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">proc</SPAN><SPAN class="variablename">&nbsp;</SPAN>{<SPAN class="functionname">C1</SPAN>}&nbsp;</CODE><CODE><I>S1</I></CODE><CODE>&nbsp;<SPAN class="keyword">end</SPAN>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">proc</SPAN><SPAN class="variablename">&nbsp;</SPAN>{<SPAN class="functionname">C2</SPAN>}&nbsp;</CODE><CODE><I>S2</I></CODE><CODE>&nbsp;<SPAN class="keyword">end</SPAN>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">fun</SPAN><SPAN class="variablename">&nbsp;</SPAN>{<SPAN class="functionname">C3</SPAN>}&nbsp;</CODE><CODE><I>S3</I></CODE><CODE>&nbsp;<SPAN class="keyword">proc</SPAN><SPAN class="variablename">&nbsp;</SPAN>{<SPAN class="functionname">$</SPAN>}&nbsp;</CODE><CODE><I>S4</I></CODE><CODE>&nbsp;<SPAN class="keyword">end</SPAN>&nbsp;<SPAN class="keyword">end</SPAN>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">in</SPAN>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{Combinator<SPAN class="keyword">.</SPAN><SPAN class="string">'or'</SPAN>&nbsp;C1<SPAN class="keyword">#</SPAN>C2<SPAN class="keyword">#</SPAN>C3}<BR>&nbsp;&nbsp;&nbsp;&nbsp;<SPAN class="keyword">end</SPAN>&nbsp;<BR>&nbsp;&nbsp;&nbsp;</CODE></BLOCKQUOTE><P> </P></DD><DT><CODE><SPAN class="string">'choice'</SPAN></CODE> <A name="label479"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Combinator<SPAN class="keyword">.</SPAN><SPAN class="string">'choice'</SPAN>&nbsp;</CODE><CODE>+<I>T</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>implements choice point construction. </P></DD><DT><CODE><SPAN class="string">'dis'</SPAN></CODE> <A name="label481"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Combinator<SPAN class="keyword">.</SPAN><SPAN class="string">'dis'</SPAN>&nbsp;</CODE><CODE>+<I>T</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>implements andorra-style disjunction. </P></DD></DL><P> </P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node43.html#chapter.recordc">&lt;&lt; Prev</A></TD><TD><A href="index.html">- Up -</A></TD><TD><A href="node45.html#chapter.space">Next &gt;&gt;</A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~duchier/">Denys&nbsp;Duchier</A>, <A href="http://www.ps.uni-sb.de/~kornstae/">Leif&nbsp;Kornstaedt</A>, <A href="http://www.ps.uni-sb.de/~homik/">Martin&nbsp;Homik</A>, <A href="http://www.ps.uni-sb.de/~tmueller/">Tobias&nbsp;Müller</A>, <A href="http://www.ps.uni-sb.de/~schulte/">Christian&nbsp;Schulte</A> and&nbsp;<A href="http://www.info.ucl.ac.be/~pvr">Peter&nbsp;Van Roy</A><BR><SPAN class="version">Version 1.4.0 (20110908185330)</SPAN></ADDRESS></BODY></HTML>