
















               RUNNING REDUCE ON A DECSYSTEM 10 SERIES COMPUTER

                                 Version 3.0

                                      by

                               Anthony C. Hearn

                             The Rand Corporation
                          Santa Monica, CA 90406 USA

                                  April 1983












                                   ABSTRACT


This  document describes operating procedures specific to running REDUCE under
TOPS-10 on a DECSYSTEM 10 series computer.









                         Rand Publication CP80(4/83)

                   Copyright (c) 1983 The Rand Corporation




                              _T_A_B_L_E__O_F__C_O_N_T_E_N_T_S







1.  PRELIMINARY .........................................................    1

2.  FILE HANDLING .......................................................    1

3.  AN INTRODUCTION TO REDUCE ...........................................    2

4.  REDUCE DOCUMENTATION ................................................    2

5.  IMPLEMENTATION DEPENDENT PARAMETERS .................................    2
         5.1  Object sizes ..............................................    2
         5.2  Special characters and interrupts .........................    2
         5.3  Memory Requirements .......................................    3
         5.4  Miscellaneous .............................................    3

6.  IMPLEMENTATION DEPENDENT ERROR MESSAGES .............................    3

7.  FURTHER HELP ........................................................    4

Running REDUCE under TOPS-10                                            Page 1


1.  _P_R_E_L_I_M_I_N_A_R_Y

This document describes operating procedures for running  REDUCE  specific  to
the  DECSYSTEM  10  series  of  computers.   It  supplements the REDUCE User's
Manual, describing features, extension and limitations specific to this imple-
mentation of REDUCE.

REDUCE under TOPS-10 for a DECSYSTEM 10 series computer is stored as  an  exe-
cutable  binary  disk file.  The name of the directory that contains this file
is identified in this document as "reduce:" .  Other REDUCE related files  are
also stored in this directory.

Unless reduce: is equivalent to sys: at your site, your command  files  should
be  modified  to  include  reduce:  in your sys: search path.  An entry of the
form:

    path sys:/search=reduce:

is sufficient.

To run REDUCE, you then type (in upper or lower case)

    reduce

REDUCE will respond with a banner line and then prompt for the first  line  of
input:

    reduce 3.0, 15-Apr-83 ...

    1:

You can now begin entering commands.


2.  _F_I_L_E__H_A_N_D_L_I_N_G

TOPS-10 REDUCE file names follow TOPS-10 conventions. In particular, the  name
and extension fields can be a maximum of six and three characters long respec-
tively. As a result, the filenames that appear in IN, OUT and SHUT  statements
must follow this convention. Directory names can be of three forms:

   An identifier followed by a colon, e.g., reduce:.

   An identifier enclosed in angle brackets, e.g., <reduce>. (Normally only
      used with TOPS-20.)

   A project, programmer pair, enclosed in square brackets, e.g., [22,304].
      (Normally only used with TOPS-10.)

The first two styles of directory name must precede the  file  name,  and  the
third follow it, as in

     "reduce:reduce.tst"

     "<reduce>reduce.tst"

Running REDUCE under TOPS-10                                            Page 2


or
     "reduce.tst[22,304]".

As a test of the system, you should try

     in "reduce:reduce.tst";

which will load the standard REDUCE test file.


3.  _A_N__I_N_T_R_O_D_U_C_T_I_O_N__T_O__R_E_D_U_C_E

New users of REDUCE are advised to process the seven REDUCE Lessons  that  are
available as reduce:lessi.  For example, to run Lesson 1, you would say:

     in "reduce:less1";


4.  _R_E_D_U_C_E__D_O_C_U_M_E_N_T_A_T_I_O_N

REDUCE documents are also kept in the reduce: directory,  with  the  extension
doc. These include:

     instal.doc      Installation instructions

     reduce.doc      REDUCE User's Manual

     tops10.doc      TOPS-10 specific operation notes (i.e., this document).


5.  _I_M_P_L_E_M_E_N_T_A_T_I_O_N__D_E_P_E_N_D_E_N_T__P_A_R_A_M_E_T_E_R_S

5.1  _O_b_j_e_c_t__s_i_z_e_s

The maximum string and identifier lengths are limited only by the  total  size
of  the  memory partition for the names of such objects in the underlying LISP
interpreter.  This is usually several thousand characters  long.  However,  we
recommend  that  such  names  be limited to twenty-four characters or less for
compatibility with other versions of REDUCE.

Floating point numbers are printed with eight digit precision in either  fixed
notation  or  in  a scientific notation with a two digit exponent depending on
the size of the number.

Arbitrary precision integer and real arithmetic is supported.

Times (as reported by ON TIME or SHOWTIME)  are  given  in  milliseconds,  and
measure execution time including garbage collection time.  They do not include
operating system overhead (e.g., swapping time).

5.2  _S_p_e_c_i_a_l__c_h_a_r_a_c_t_e_r_s__a_n_d__i_n_t_e_r_r_u_p_t_s

Lower case input is permitted.

The end-of-file character is <control>Z.

Running REDUCE under TOPS-10                                            Page 3


<del> deletes a single character from terminal  input,  <control>U  the  whole
line.

A command may be terminated by <escape> instead  of  $.  This  has  the  added
advantage  that a Return is then not needed to evaluate the line.  <escape> is
also used to terminate strings in the REDUCE interactive editor.

^ may be used instead of ** to represent exponentiation.

5.3  _M_e_m_o_r_y__R_e_q_u_i_r_e_m_e_n_t_s

The distributed version of REDUCE requires a minimum of 193 pages of memory to
run.   This  size  will  increase  as  additional facilities are automatically
loaded by user actions.  A default expression workspace of approximately 26000
cells  is also provided, which may prove to be insufficient for some problems.
A command CORE is available to increase the size of the workspace.  This  com-
mand MUST be given at the top level and not from a file since it reinitializes
all file buffers.  CORE takes an integer as argument, representing  the  basic
REDUCE  program  size  in  K words (exclusive of operating system increments).
The minimum value is 60 (the default) and the maximum 124.   For  example,  to
increase the user workspace by 10K words, one would say:

     CORE 70;

at the top level.

In addition to the expression workspace, there  is  another  memory  partition
called  the  binary  program  space  (which holds compiled programs) that also
requires top level adjustment. A command EXCORE is available to  increase  the
size  of  this  space.  Its  single argument is also an integer representing K
words, but, unlike CORE, it causes the space to be incremented by that amount,
not  set  to  that  amount. For system modules referenced at the top level, an
automatic increase in binary program space occurs.  Otherwise  the  user  must
increase  this  space  manually, prompted by a system message telling how much
extra space is needed.

5.4  _M_i_s_c_e_l_l_a_n_e_o_u_s

There is no link currently to an external editor.

The internal ordering on alphabetic characters is from A through Z followed by
a through z.

To exit REDUCE use either "bye;" or "quit;".  These  are  equivalent.   If  no
non-ephemeral  processes  have been invoked after this, such a job may be res-
tarted by the operating system command CONTINUE.


6.  _I_M_P_L_E_M_E_N_T_A_T_I_O_N__D_E_P_E_N_D_E_N_T__E_R_R_O_R__M_E_S_S_A_G_E_S

A number of error messages from the underlying LISP system may  be  seen  from
time to time.  These include:

NO FREE STG LEFT
        Your problem is too large in its present form for the available

Running REDUCE under TOPS-10                                            Page 4


        workspace; either change your problem formulation or increase the
        amount of workspace by the CORE command

REG PUSHDOWN CAPACITY EXCEEDED
        Your program probably contains a non-terminating loop that exhausts
        the system's space for recursive references.  If you think your
        program is correct, ask your site consultant to build you a system
        with a bigger pushdown stack.

For further details, the Manual for Standard  LISP  on  DECSYSTEM  10  and  20
should be consulted.


7.  _F_U_R_T_H_E_R__H_E_L_P

For further help with REDUCE, please contact

     <list your site consultant here>
