rlisp88.tex 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. \section{Rlisp '88}
  2. Rlisp '88 is a superset of the Rlisp that has been traditionally used for
  3. the support of REDUCE. It is fully documented in the book
  4. Marti, J.B., ``{RLISP} '88: An Evolutionary Approach to Program Design
  5. and Reuse'', World Scientific, Singapore (1993).
  6. Rlisp '88 adds to the traditional Rlisp the following facilities:
  7. \begin{enumerate}
  8. \item more general versions of the looping constructs {\tt for},
  9. {\tt repeat} and {\tt while};
  10. \item support for a backquote construct;
  11. \item support for active comments;
  12. \item support for vectors of the form name[index];
  13. \item support for simple structures;
  14. \item support for records.
  15. \end{enumerate}
  16. In addition, ``--'' is a letter in Rlisp '88. In other words, {\tt A-B} is an
  17. identifier, not the difference of the identifiers {\tt A} and {\tt B}. If
  18. the latter construct is required, it is necessary to put spaces around the
  19. - character. For compatibility between the two versions of Rlisp, we
  20. recommend this convention be used in all symbolic mode programs.
  21. To use Rlisp '88, type {\tt on rlisp88;}\ttindex{RLISP88}. This switches to
  22. symbolic mode with the Rlisp '88 syntax and extensions. While in this
  23. environment, it is impossible to switch to algebraic mode, or prefix
  24. expressions by ``algebraic''. However, symbolic mode programs written in
  25. Rlisp '88 may be run in algebraic mode provided the rlisp88 package has been
  26. loaded. We also expect that many of the extensions defined in Rlisp '88
  27. will migrate to the basic Rlisp over time. To return to traditional Rlisp
  28. or to switch to algebraic mode, say ``off rlisp88''.