File r37/lisp/csl/html/r37_0222.html artifact eb26971bff part of check-in e1a8550313



<A NAME=SYMMETRIC>

<TITLE>SYMMETRIC</TITLE></A>
<b><a href=r37_idx.html>INDEX</a></b><p><p>



<B>SYMMETRIC</B> _ _ _  _ _ _  _ _ _  _ _ _ <B>declaration</B><P>
<P>
 
 <P>
<P>
When an operator is declared <em>symmetric</em>, its arguments are reordered 
to conform to the internal ordering of the system. 
 <P> <H3> 
syntax: </H3>
<P>
<P>
<em>symmetric</em>&lt;identifier&gt;{,&lt;identifier&gt;}* 
<P>
<P>
<P>
&lt;identifier&gt; is an identifier that has been declared an operator. 
<P>
<P>
 <P> <H3> 
examples: </H3>
<P><PRE><TT>
operator m,n; 

symmetric m,n; 

m(y,a,sin(x)); 

  M(SIN(X),A,Y) 


n(z,m(b,a,q)); 

  N(M(A,B,Q),Z)

</TT></PRE><P>If &lt;identifier&gt; has not been declared to be an operator, the
 flag 
<em>symmetric</em> is still attached to it. When &lt;identifier&gt; is 
subsequently used as an operator, the message <em>Declare</em>&lt;identifier&gt;
 
 <em>operator ? (Y or N)</em> is printed. If the user replies <em>y</em>, the 
symmetric property of the operator is used. 
<P>
<P>
<P>


REDUCE Historical
REDUCE Sourceforge Project | Historical SVN Repository | GitHub Mirror | SourceHut Mirror | NotABug Mirror | Chisel Mirror | Chisel RSS ]