|
|
1.1 root 1: .LP
2: The following is a complete list
3: of \*a system commands.
4: .IP ")clear" 14
5: This command is used to completely
6: initialize an \*a
7: workspace.
8: Usually when \*a is
9: started,
10: it will print:
11: ``clear ws''.
12: This means that
13: no internal variables
14: or functions are defined.
15: Sometimes,
16: it is desirable to completely
17: erase everything,
18: and this command serves that purpose.
19: To let you know that everything
20: has been erased,
21: \*a will output the message
22: ``clear ws''.
23: .IP ")code fn" 14
24: This command causes \*a to print the
25: compiled internal code for the function
26: ``fn''.
27: This is intended for \*a system development
28: and not for general use.
29: .IP ")continue" 14
30: ``)continue'' is a combination
31: of the ``)save'' and ``)off'' commands
32: (see below).
33: The internal workspace is saved in
34: a file named ``continue'',
35: and then \*a is terminated.
36: Since \*a will by default look
37: for the file ``continue'' in the current
38: directory when it is next run,
39: this provides a convenient method
40: of suspending and resuming an \*a session.
41: .IP ")copy xxx" 14
42: This command instructs \*a
43: to locate the \*u file ``xxx''
44: and load it into its internal
45: workspace, similar to the
46: ``)load'' command
47: (see below).
48: The difference between
49: ``)load'' and ``)copy''
50: is that ``)load'' will replace
51: the current internal workspace
52: with the one being read in,
53: while ``)copy'' merges the
54: current internal workspace with
55: the one being read in.
56: Functions and variables which
57: are loaded from the file
58: take precedence over functions
59: and variables of the same name
60: existing already in the internal
61: workspace.
62: .IP ")digits n" 14
63: This command is used to specify
64: to \*a how many digits
65: are to be displayed when
66: a number is printed in
67: floating-point
68: or exponential format.
69: By default,
70: \*a will print 9 digits.
71: You may specify any number
72: between 1 and 19 for the
73: number of digits (n).
74: \*a will respond with
75: the number of digits it
76: was using.
77: .IP ")debug" 14
78: This command invokes ``debug mode.''
79: In this mode,
80: every action which \*a takes is logged on
81: the terminal.
82: This mode is excellent for generating
83: reams of hopelessly cryptic output and
84: exists only to facilitate \*a development.
85: It is not intended for general use.
86: Debug mode can be turned off by issuing
87: the ``)debug'' system command a second time.
88: .IP ")drop list" 14
89: This command performs the same
90: function as ``rm'' in \*u.
91: The names of the files to be
92: deleted should be separated by
93: spaces or tabs.
94: The files may be
95: \*a workspaces,
96: ASCII files,
97: or any other type of \*u file.
98: .IP ")editf xxx" 14
99: This command is used to
100: create and edit functions.
101: If the function named ``xxx''
102: exists in the workspace,
103: \*a will write it into a
104: temporary \*u file
105: and then will execute the
106: \*u editor
107: on that file.
108: When you have finished
109: editing the file,
110: and you exit the editor,
111: \*a will come back
112: and will read the function
113: from the temporary file.
114: .IP ")edit xxx" 14
115: This command is similar to
116: ``)editf'' except that ``xxx''
117: is a \*u filename.
118: \*a will execute the editor
119: to edit the \*u file named
120: ``xxx'',
121: and when the editing is complete,
122: \*a will read that file into the workspace.
123: The difference between ``)edit'' and ``)editf''
124: is that ``)editf'' essentially edits
125: functions directly from the workspace,
126: while ``)edit'' gets the functions from
127: the \*u directory.
128: .IP ")erase list" 14
129: This command is handy when it
130: is desirable to get rid of parts
131: of a workspace without using
132: ``)clear'' to eliminate all of it.
133: A list of function and variable
134: names
135: (separated by spaces or tabs)
136: may be specified.
137: The named functions and variables
138: will be deleted from the internal
139: workspace.
140: The remainder of the workspace will
141: not be affected.
142: .IP ")fns" 14
143: This command causes \*a
144: to list the names of all
145: of the functions which are
146: defined in its internal workspace.
147: .IP ")lib" 14
148: This command is similar to the
149: ``ls'' command in \*u.
150: It causes \*a to list the names
151: of all of the \*u files in
152: the current directory.
153: .IP ")list xxx" 14
154: This command causes \*a to print out
155: the function named ``xxxx''.
156: This is very handy for looking
157: at a function without having to
158: use the editor \(em
159: especially when an error has
160: occurred and you wish to look at
161: a function without disturbing the
162: state indicator.
163: .IP ")load xxx" 14
164: This command is used to instruct
165: \*a to load the \*u file
166: ``xxx'' as a workspace.
167: After the file is loaded,
168: \*a's internal workspace will
169: be the same as it was when the
170: workspace file was saved with ``)save'',
171: and that previous \*a session may be resumed.
172: If the workspace file
173: exists and is successfully
174: loaded,
175: \*a will print the time
176: and date that the workspace
177: was last saved.
178: .IP ")off" 14
179: This command
180: terminates the \*a session.
181: The \*u command program
182: will come back and print its
183: prompt
184: (``$ '' or ``% '').
185: .IP ")origin n" 14
186: This command is used to change
187: the ``origin''.
188: By default, the origin is 1.
189: The ``origin'' is the
190: starting index for arrays.
191: For example,
192: if the origin is 0,
193: then the first element of
194: a 3-element array A is
195: A[0].
196: If the origin is 5,
197: the first element will be
198: A[5].
199: Although standard \*a permits
200: only 0 or 1 for the origin,
201: \*u \*a allows any
202: integer value.
203: \*a will answer with
204: the origin it was using.
205: .IP ")prws" 14
206: This command causes \*a
207: to print the contents of the workspace
208: in a readable format.
209: Non-scalar variables are displayed along
210: with their dimensions;
211: functions are displayed as via the ``)list''
212: system command.
213: .IP ")read xxx" 14
214: At times it is desirable
215: to read a function which
216: is stored in an ASCII file
217: into the internal workspace.
218: The ``)read'' command causes
219: \*a to read the \*u file
220: named ``xxx'' into the workspace
221: as a function.
222: Note that ``)read'' and ``)load''
223: (see above)
224: are
225: .I not
226: the same thing.
227: ``)load'' reads a complete new workspace
228: into \*a from a workspace-format file,
229: while ``)read'' reads a function
230: from an ASCII file
231: and adds it to the current workspace.
232: .IP ")reset" 14
233: This command is used to reset the
234: state indicator.
235: All suspended functions are reset;
236: the state indicator will be cleared.
237: APL returns to the global level.
238: .IP ")save xxx" 14
239: This command causes \*a to write
240: its internal workspace into a
241: \*u file.
242: This allows the current session
243: to be resumed at a later time.
244: If the save is successful,
245: \*a will output the date and time.
246: .IP ")script xxx" 14
247: This command places \*a
248: into a ``protocol'' mode.
249: Following this command,
250: \*a will copy all input
251: from the terminal and
252: output to the terminal
253: to the file ``xxx''.
254: Thus,
255: ``xxx'' is a complete
256: transcript of the \*a session.
257: To turn off the script file,
258: type ``)script off''.
259: The protocol file which is
260: produced will contain all of
261: the output produced by \*a itself,
262: but will,
263: unfortunately,
264: not contain any output
265: produced by another
266: process
267: (such as the editor).
268: .IP ")shell" 14
269: This command is useful when it is desired
270: to return to \*u temporarily without
271: having to save the current internal workspace,
272: exit \*a,
273: and later re-enter \*a and reload the workspace.
274: ``)shell'' causes \*a to execute
275: the \*u ``shell'' program
276: (command interpreter).
277: When you have finished with the
278: shell,
279: logout and you will be returned to \*a.
280: .IP ")si" 14
281: This command is useful when something
282: goes wrong.
283: When an error occurs,
284: the function that was executing is
285: ``suspended''.
286: The ``)si'' command causes \*a to
287: print a traceback of the
288: suspended functions.
289: Each function is listed,
290: in the reverse order that it was called.
291: The current line number for each function
292: is also printed.
293: Functions followed by an asterisk (``*'')
294: were suspended due to an error;
295: these were called by functions listed
296: on the following lines whose names
297: are not followed by an asterisk.
298: .IP ")trace" 14
299: This command
300: turns on \*a's internal ``trace'' mode.
301: When tracing is turned on,
302: \*a will report the function name
303: and line number of each
304: line in every function executed.
305: Thus,
306: the flow of execution from the
307: start to the end of a run can be
308: followed.
309: .IP ")untrace" 14
310: This command turns off ``trace'' mode.
311: .IP ")vars" 14
312: This command causes \*a
313: to list the names of all
314: of the variables which are
315: defined in its internal workspace.
316: .IP ")vsave xxx" 14
317: This command allows parts of
318: a workspace to be saved.
319: The functions and variables
320: which are specified will be
321: saved in a \*u file in the same
322: format as produced by ``)save''
323: (see above).
324: \*a will prompt for the
325: names of the functions and variables
326: to be saved.
327: When you have entered the
328: last name,
329: type a blank line to end the save
330: operation.
331: The workspace you have created
332: with ``)vsave'' may be loaded with
333: ``)load'' at some later time.
334: ``)vsave'' does not affect
335: variables in the internal workspace.
336: .IP ")width n" 14
337: This command tells \*a to print
338: n characters per line.
339: This is useful to keep output from
340: being printed outside of the physical
341: terminal width.
342: Lines longer than this length will be
343: ``wrapped-around''.
344: \*a will respond with
345: the previous terminal width.
346: .IP ")write xxx" 14
347: This command is the complement of
348: ``)read'' (see above).
349: It takes the function ``xxx''
350: from the current workspace and
351: writes it to an ASCII file named ``xxx''.
352: This is useful for writing functions
353: which will be ``)read'' later into other
354: workspaces.
355: Note that ``)write'' and ``)vsave'' are not the
356: same thing,
357: for ``)write'' is used to write a
358: function into an ASCII file
359: while ``)vsave'' saves a selected subset
360: of the internal workspace in a
361: workspace-format file.
362: .LP
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.