File r37/doc/help/symbolic.tex artifact f38a21d399 part of check-in 83195a42cb


\section{Symbolic Mode}

\begin{Operator}{EQ}
\begin{Syntax}
\meta{expression} \name{eq} \meta{expression}
\end{Syntax}

\name{eq} is an infix binary comparison operator that returns {\em true\/}
if the first expression points to the same object as the second.  Users
should be completely familiar with the concept of Lisp pointers and their
comparison before using this operator.

\begin{Comments}
\name{eq} is {\em not\/}
a reliable comparison between numeric arguments.
\end{Comments}

\end{Operator}

\begin{Switch}{FASTFOR}
The switch \name{fastfor} causes \nameref{for} loops to use so-called
``inum'' arithmetic in which simple arithmetic operations, such as
updating operations on the looping variable, are replaced by machine
operations.

\begin{Comments}
This switch should be used with care.  Only code that is compiled should
utilize its effect, since some of the operations used are not supported
in interpreted mode.  It is also the user's responsibility to ensure that
the arithmetic operations are within the appropriate range, since no
overflow is checked.
\end{Comments}

\end{Switch}


\begin{Operator}{MEMQ}

\begin{Syntax}
\meta{expression} \name{memq} \meta{list}
\end{Syntax}

\name{member} is an infix binary comparison operator that evaluates to
{\em true\/} if \meta{expression} is a \nameref{eq} to any member of
\meta{list}.

\begin{Examples}
if 'a memq {'a,'b} then 1 else 0; & 1 \\
if '(a) memq {'(a),'(b)} then 1 else 0; & 0
\end{Examples}

\begin{Comments}
Since \name{eq} is not a reliable comparison between numeric arguments,
one can't be sure that 1 for example is \name{memq} the list
\name{\{1,2\}}.
\end{Comments}


\end{Operator}




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