123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 |
- RUNNING REDUCE ON A DECSYSTEM 20 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-20 on a DECSYSTEM 20 series computer.
- Rand Publication CP81(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. FILE EDITING CAPABILITIES ........................................... 2
- 6. IMPLEMENTATION DEPENDENT PARAMETERS ................................. 3
- 6.1 Object sizes .............................................. 3
- 6.2 Special characters and interrupts ......................... 3
- 6.3 Memory Requirements ....................................... 4
- 6.4 Miscellaneous ............................................. 4
- 7. IMPLEMENTATION DEPENDENT ERROR MESSAGES ............................. 4
- 8. FURTHER HELP ........................................................ 4
- Running REDUCE under TOPS-20 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 20 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-20 for a DECSYSTEM 20 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:
- def sys: <reduce>,sys:
- 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
- The LISP interpreter currently in use with this version of REDUCE was origi-
- nally written for a TOPS-10 system. As a result, its file names follow TOPS-10
- conventions. In particular, the name and extension fields can be a maximum of
- six and three characters long respectively. 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"
- Running REDUCE under TOPS-20 Page 2
- "<reduce>reduce.tst"
- 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
- tops20.doc TOPS-20 specific operation notes (i.e., this document).
- 5. _F_I_L_E__E_D_I_T_I_N_G__C_A_P_A_B_I_L_I_T_I_E_S
- The TOPS-20 version of REDUCE provides a link to the line-oriented system edi-
- tor "EDIT". There are two commands provided in this regard.
- EDIT <id>[,<integer>[,<integer>]]
- If <id> is a valid file name, then this command will invoke the editor on this
- file. If the optional integer arguments are omitted, then you will be posi-
- tioned at the first line in the file. On exiting from the editor, you will be
- returned to REDUCE. If the second argument is used, you will be positioned at
- that line in the file. If the third argument is used, that page will be
- referenced rather than the default page 1. For example,
- EDIT "foo.bah",100;
- will position the editor at line 100 on page 1 of the file "foo.bah".
- If the second or optional third arguments are specified, on exiting from the
- editor REDUCE will first load the command that starts at the line specified in
- the EDIT command before returning control to the user.
- If <id> is not a file name, but is the name of a function that has been loaded
- by the user from a file, then the editor will be positioned at the first line
- Running REDUCE under TOPS-20 Page 3
- of that function.
- Thirdly, if <id> is the name of a function that has been defined at the termi-
- nal, EDIT will edit that function by a call to EDITDEF. In other words, EDIT
- and EDITDEF are equivalent in this case.
- If none of these conditions is satisfied, EDIT will abort with the error that
- <id> is not defined.
- There are two cautions to be observed in using this command to reference
- files. First, you must not renumber the file or save it without line numbers,
- since REDUCE depends on the explicit line numbers for its references.
- Secondly, if you do not position the editor at the beginning of a command for
- the second use of EDIT, then an error will obviously occur when REDUCE tries
- to read the expression. The same cautions apply to CMD defined below.
- CMD <id><integer>[,<integer>]
- This command causes the command defined at the line <integer1> in the file
- <id> to be loaded. <integer2> can be used to specify an optional page.
- 6. _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
- 6.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).
- 6.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.
- <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.
- Running REDUCE under TOPS-20 Page 4
- ^ may be used instead of ** to represent exponentiation.
- 6.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.
- 6.4 _M_i_s_c_e_l_l_a_n_e_o_u_s
- 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.
- 7. _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
- 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.
- 8. _F_U_R_T_H_E_R__H_E_L_P
- For further help with REDUCE, please contact
- <list your site consultant here>
|