Artifact 001073fe5658fd941182ddd78e8985f5fd4e0518705d9132d7d4e25bdc87acaf:
- File
r30/tops20.doc
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 10526) [annotate] [blame] [check-ins using] [more...]
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>