/usr/share/mozart/doc/base/tuple.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>6.2 Tuples</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="record.html#section.records.records"><< Prev</A></TD><TD><A href="node8.html">- Up -</A></TD><TD><A href="list.html#section.records.lists">Next >></A></TD></TR></TABLE><DIV id="section.records.tuples"><H2><A name="section.records.tuples">6.2 Tuples</A></H2><P> The module <A name="label263"></A><SPAN class="index"><CODE>Tuple</CODE></SPAN> contains procedures operating on tuples. </P><DL><DT><A name="label264"></A><SPAN class="index"><CODE>IsTuple</CODE></SPAN> <A name="label266"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Tuple<SPAN class="keyword">.</SPAN>is </CODE><CODE>+<I>X</I></CODE><CODE> </CODE><CODE>?<I>B</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>X</I></CODE> is a tuple. </P></DD><DT><A name="label267"></A><SPAN class="index"><CODE>MakeTuple</CODE></SPAN> <A name="label269"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Tuple<SPAN class="keyword">.</SPAN>make </CODE><CODE>+<I>L</I></CODE><CODE> </CODE><CODE>+<I>I</I></CODE><CODE> </CODE><CODE>?<I>T</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>binds <CODE><I>T</I></CODE> to new tuple with label <CODE><I>L</I></CODE> and fresh variables at features <CODE>1</CODE> through <CODE><I>I</I></CODE>. <CODE><I>I</I></CODE> must be non-negative, else an error exception is raised. </P><P> For example, <CODE>{MakeTuple L N T}</CODE> waits until <CODE>L</CODE> is bound to a literal, say <CODE>b</CODE>, and <CODE>N</CODE> is bound to a number, say <CODE>3</CODE>, whereupon <CODE>T</CODE> is bound to <CODE>b(_ _ _)</CODE>. </P></DD><DT><CODE>toArray</CODE> <A name="label271"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Tuple<SPAN class="keyword">.</SPAN>toArray </CODE><CODE>+<I>T</I></CODE><CODE> </CODE><CODE>?<I>A</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns an array with bounds between <CODE>1</CODE> and <CODE>{Width </CODE><CODE><I>T</I></CODE><CODE>}</CODE>, where the elements of the array are the subtrees of <CODE><I>T</I></CODE>. </P></DD><DT><CODE>append</CODE> <A name="label273"></A> </DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{Tuple<SPAN class="keyword">.</SPAN>append </CODE><CODE>+<I>T1</I></CODE><CODE> </CODE><CODE>+<I>T2</I></CODE><CODE> </CODE><CODE>?<I>T3</I></CODE><CODE>}</CODE> </P></BLOCKQUOTE></DD><DD><P>returns a tuple with same label as <CODE><I>T2</I></CODE>. Given that <CODE><I>T1</I></CODE> has width <I>i</I> and <CODE><I>T2</I></CODE> has width <I>j</I>, <CODE><I>T3</I></CODE> will have width <I>i</I><CODE> <SPAN class="keyword">+</SPAN> </CODE><I>j</I>, and the first <I>i</I> fields of <CODE><I>T3</I></CODE> will be the same as the fields of <CODE><I>T1</I></CODE> in their original order, and the fields <I>i</I><CODE> <SPAN class="keyword">+</SPAN> 1</CODE> through <I>i</I><CODE> <SPAN class="keyword">+</SPAN> </CODE><I>j</I> will be the same as the fields of <CODE><I>T2</I></CODE> in their original order. </P></DD></DL><P> </P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="record.html#section.records.records"><< Prev</A></TD><TD><A href="node8.html">- Up -</A></TD><TD><A href="list.html#section.records.lists">Next >></A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~duchier/">Denys Duchier</A>, <A href="http://www.ps.uni-sb.de/~kornstae/">Leif Kornstaedt</A> and <A href="http://www.ps.uni-sb.de/~schulte/">Christian Schulte</A><BR><SPAN class="version">Version 1.4.0 (20110908185330)</SPAN></ADDRESS></BODY></HTML>
|