tops20.doc 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. RUNNING REDUCE ON A DECSYSTEM 20 SERIES COMPUTER
  2. Version 3.0
  3. by
  4. Anthony C. Hearn
  5. The Rand Corporation
  6. Santa Monica, CA 90406 USA
  7. April 1983
  8. ABSTRACT
  9. This document describes operating procedures specific to running REDUCE under
  10. TOPS-20 on a DECSYSTEM 20 series computer.
  11. Rand Publication CP81(4/83)
  12. Copyright (c) 1983 The Rand Corporation
  13. _T_A_B_L_E__O_F__C_O_N_T_E_N_T_S
  14. 1. PRELIMINARY ......................................................... 1
  15. 2. FILE HANDLING ....................................................... 1
  16. 3. AN INTRODUCTION TO REDUCE ........................................... 2
  17. 4. REDUCE DOCUMENTATION ................................................ 2
  18. 5. FILE EDITING CAPABILITIES ........................................... 2
  19. 6. IMPLEMENTATION DEPENDENT PARAMETERS ................................. 3
  20. 6.1 Object sizes .............................................. 3
  21. 6.2 Special characters and interrupts ......................... 3
  22. 6.3 Memory Requirements ....................................... 4
  23. 6.4 Miscellaneous ............................................. 4
  24. 7. IMPLEMENTATION DEPENDENT ERROR MESSAGES ............................. 4
  25. 8. FURTHER HELP ........................................................ 4
  26. Running REDUCE under TOPS-20 Page 1
  27. 1. _P_R_E_L_I_M_I_N_A_R_Y
  28. This document describes operating procedures for running REDUCE specific to
  29. the DECSYSTEM 20 series of computers. It supplements the REDUCE User's
  30. Manual, describing features, extension and limitations specific to this imple-
  31. mentation of REDUCE.
  32. REDUCE under TOPS-20 for a DECSYSTEM 20 series computer is stored as an exe-
  33. cutable binary disk file. The name of the directory that contains this file
  34. is identified in this document as "<reduce>" . Other REDUCE related files are
  35. also stored in this directory.
  36. Unless <reduce> is equivalent to sys: at your site, your command files should
  37. be modified to include <reduce> in your sys: search path. An entry of the
  38. form:
  39. def sys: <reduce>,sys:
  40. is sufficient.
  41. To run REDUCE, you then type (in upper or lower case)
  42. reduce
  43. REDUCE will respond with a banner line and then prompt for the first line of
  44. input:
  45. reduce 3.0, 15-Apr-83 ...
  46. 1:
  47. You can now begin entering commands.
  48. 2. _F_I_L_E__H_A_N_D_L_I_N_G
  49. The LISP interpreter currently in use with this version of REDUCE was origi-
  50. nally written for a TOPS-10 system. As a result, its file names follow TOPS-10
  51. conventions. In particular, the name and extension fields can be a maximum of
  52. six and three characters long respectively. As a result, the filenames that
  53. appear in IN, OUT and SHUT statements must follow this convention. Directory
  54. names can be of three forms:
  55. An identifier followed by a colon, e.g., reduce:.
  56. An identifier enclosed in angle brackets, e.g., <reduce>. (Normally only
  57. used with TOPS-20.)
  58. A project, programmer pair, enclosed in square brackets, e.g., [22,304].
  59. (Normally only used with TOPS-10.)
  60. The first two styles of directory name must precede the file name, and the
  61. third follow it, as in
  62. "reduce:reduce.tst"
  63. Running REDUCE under TOPS-20 Page 2
  64. "<reduce>reduce.tst"
  65. or
  66. "reduce.tst[22,304]".
  67. As a test of the system, you should try
  68. in "<reduce>reduce.tst";
  69. which will load the standard REDUCE test file.
  70. 3. _A_N__I_N_T_R_O_D_U_C_T_I_O_N__T_O__R_E_D_U_C_E
  71. New users of REDUCE are advised to process the seven REDUCE Lessons that are
  72. available as <reduce>lessi. For example, to run Lesson 1, you would say:
  73. in "<reduce>less1";
  74. 4. _R_E_D_U_C_E__D_O_C_U_M_E_N_T_A_T_I_O_N
  75. REDUCE documents are also kept in the <reduce> directory, with the extension
  76. doc. These include:
  77. instal.doc Installation instructions
  78. reduce.doc REDUCE User's Manual
  79. tops20.doc TOPS-20 specific operation notes (i.e., this document).
  80. 5. _F_I_L_E__E_D_I_T_I_N_G__C_A_P_A_B_I_L_I_T_I_E_S
  81. The TOPS-20 version of REDUCE provides a link to the line-oriented system edi-
  82. tor "EDIT". There are two commands provided in this regard.
  83. EDIT <id>[,<integer>[,<integer>]]
  84. If <id> is a valid file name, then this command will invoke the editor on this
  85. file. If the optional integer arguments are omitted, then you will be posi-
  86. tioned at the first line in the file. On exiting from the editor, you will be
  87. returned to REDUCE. If the second argument is used, you will be positioned at
  88. that line in the file. If the third argument is used, that page will be
  89. referenced rather than the default page 1. For example,
  90. EDIT "foo.bah",100;
  91. will position the editor at line 100 on page 1 of the file "foo.bah".
  92. If the second or optional third arguments are specified, on exiting from the
  93. editor REDUCE will first load the command that starts at the line specified in
  94. the EDIT command before returning control to the user.
  95. If <id> is not a file name, but is the name of a function that has been loaded
  96. by the user from a file, then the editor will be positioned at the first line
  97. Running REDUCE under TOPS-20 Page 3
  98. of that function.
  99. Thirdly, if <id> is the name of a function that has been defined at the termi-
  100. nal, EDIT will edit that function by a call to EDITDEF. In other words, EDIT
  101. and EDITDEF are equivalent in this case.
  102. If none of these conditions is satisfied, EDIT will abort with the error that
  103. <id> is not defined.
  104. There are two cautions to be observed in using this command to reference
  105. files. First, you must not renumber the file or save it without line numbers,
  106. since REDUCE depends on the explicit line numbers for its references.
  107. Secondly, if you do not position the editor at the beginning of a command for
  108. the second use of EDIT, then an error will obviously occur when REDUCE tries
  109. to read the expression. The same cautions apply to CMD defined below.
  110. CMD <id><integer>[,<integer>]
  111. This command causes the command defined at the line <integer1> in the file
  112. <id> to be loaded. <integer2> can be used to specify an optional page.
  113. 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
  114. 6.1 _O_b_j_e_c_t__s_i_z_e_s
  115. The maximum string and identifier lengths are limited only by the total size
  116. of the memory partition for the names of such objects in the underlying LISP
  117. interpreter. This is usually several thousand characters long. However, we
  118. recommend that such names be limited to twenty-four characters or less for
  119. compatibility with other versions of REDUCE.
  120. Floating point numbers are printed with eight digit precision in either fixed
  121. notation or in a scientific notation with a two digit exponent depending on
  122. the size of the number.
  123. Arbitrary precision integer and real arithmetic is supported.
  124. Times (as reported by ON TIME or SHOWTIME) are given in milliseconds, and
  125. measure execution time including garbage collection time. They do not include
  126. operating system overhead (e.g., swapping time).
  127. 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
  128. Lower case input is permitted.
  129. The end-of-file character is <control>Z.
  130. <del> deletes a single character from terminal input, <control>U the whole
  131. line.
  132. A command may be terminated by <escape> instead of $. This has the added
  133. advantage that a Return is then not needed to evaluate the line. <escape> is
  134. also used to terminate strings in the REDUCE interactive editor.
  135. Running REDUCE under TOPS-20 Page 4
  136. ^ may be used instead of ** to represent exponentiation.
  137. 6.3 _M_e_m_o_r_y__R_e_q_u_i_r_e_m_e_n_t_s
  138. The distributed version of REDUCE requires a minimum of 193 pages of memory to
  139. run. This size will increase as additional facilities are automatically
  140. loaded by user actions. A default expression workspace of approximately 26000
  141. cells is also provided, which may prove to be insufficient for some problems.
  142. A command CORE is available to increase the size of the workspace. This com-
  143. mand MUST be given at the top level and not from a file since it reinitializes
  144. all file buffers. CORE takes an integer as argument, representing the basic
  145. REDUCE program size in K words (exclusive of operating system increments).
  146. The minimum value is 60 (the default) and the maximum 124. For example, to
  147. increase the user workspace by 10K words, one would say:
  148. CORE 70;
  149. at the top level.
  150. 6.4 _M_i_s_c_e_l_l_a_n_e_o_u_s
  151. The internal ordering on alphabetic characters is from A through Z followed by
  152. a through z.
  153. To exit REDUCE use either "bye;" or "quit;". These are equivalent. If no
  154. non-ephemeral processes have been invoked after this, such a job may be res-
  155. tarted by the operating system command CONTINUE.
  156. 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
  157. A number of error messages from the underlying LISP system may be seen from
  158. time to time. These include:
  159. NO FREE STG LEFT
  160. Your problem is too large in its present form for the available
  161. workspace; either change your problem formulation or increase the
  162. amount of workspace by the CORE command
  163. REG PUSHDOWN CAPACITY EXCEEDED
  164. Your program probably contains a non-terminating loop that exhausts
  165. the system's space for recursive references. If you think your
  166. program is correct, ask your site consultant to build you a system
  167. with a bigger pushdown stack.
  168. For further details, the Manual for Standard LISP on DECSYSTEM 10 and 20
  169. should be consulted.
  170. 8. _F_U_R_T_H_E_R__H_E_L_P
  171. For further help with REDUCE, please contact
  172. <list your site consultant here>