Commit | Line | Data |
---|---|---|
babef495 KM |
1 | .\" Copyright (c) 1980 Regents of the University of California. |
2 | .\" All rights reserved. The Berkeley software License Agreement | |
3 | .\" specifies the terms and conditions for redistribution. | |
4 | .\" | |
1c15e888 | 5 | .\" @(#)apl.1 4.1 (Berkeley) 4/29/85 |
babef495 KM |
6 | .\" |
7 | .TH APL 1 8/26/80 | |
8 | .UC 4 | |
9 | .SH NAME | |
10 | apl \- an apl interpreter | |
11 | .SH SYNOPSIS | |
12 | .B apl | |
13 | .SH DESCRIPTION | |
14 | .I Apl | |
15 | is an APL interpreter. | |
16 | All of the operators are exactly as in apl\e360. | |
17 | Overstrikes are often | |
18 | required, and they work (use ctrl-h). | |
19 | .PP | |
20 | Function definition is not what you would expect. Functions are loaded | |
21 | from files. The first line of the file is the function header, as you | |
22 | would expect it but with no del. The rest of the file is the lines | |
23 | of the function. Lines are numbered, but there are no | |
24 | square brackets with line numbers. If you say | |
25 | )READ FILE it will load the function | |
26 | in that file. If you say )EX FILE it will put you in the | |
27 | editor to change that file. Upon exit, it will read the file in | |
28 | as though by )READ. | |
29 | .PP | |
30 | All of the usual operators are available, including domino. | |
31 | Also available are monadic encode and epsilon. | |
32 | .LP | |
33 | The following | |
34 | .I apl | |
35 | system commands are available. | |
36 | .TP | |
37 | )ASCII | |
38 | .br | |
39 | changes terminal to accept and print ASCII characters and operators; | |
40 | this is the default. | |
41 | If you are stuck in APL mode on an ASCII terminal, `"' is `)' and | |
42 | lowercase letters map to uppercase. | |
43 | .TP | |
44 | )APL | |
45 | .br | |
46 | changes terminal to accept and print APL characters. Erase is set to | |
47 | \(*W and kill is set to \(*a. | |
48 | .TP | |
49 | )DIGITS n | |
50 | .br | |
51 | sets the number of digits displayed to n, from 1 to 19. | |
52 | .TP | |
53 | )FUZZ n | |
54 | .br | |
55 | sets the fuzz to n. | |
56 | .TP | |
57 | )ORIGIN n | |
58 | .br | |
59 | sets the origin to n, which should be 1 or 0. | |
60 | .TP | |
61 | )WIDTH n | |
62 | .br | |
63 | sets | |
64 | .IR apl \&'s | |
65 | idea of your terminal's carriage width. | |
66 | .TP | |
67 | )ERASE n | |
68 | .br | |
69 | gets rid of function or variable named n. | |
70 | .TP | |
71 | )SAVE n | |
72 | .br | |
73 | saves all variables and functions (workspace) in file named n. | |
74 | Workspaces are sensitive to changes in | |
75 | .I apl. | |
76 | .TP | |
77 | )LOAD n | |
78 | .br | |
79 | gets the workspace in file n (which must have been | |
80 | )SAVE'd.) | |
81 | .TP | |
82 | )COPY n | |
83 | .br | |
84 | like )LOAD but variables and functions are not erased. Things | |
85 | in the loaded file take precedence over stuff already in. | |
86 | .TP | |
87 | )CLEAR | |
88 | .br | |
89 | clears the workspace. | |
90 | .TP | |
91 | )DROP n | |
92 | .br | |
93 | deletes file n in your directory, which need not be saved from | |
94 | .I apl. | |
95 | .TP | |
96 | )CONTINUE | |
97 | .br | |
98 | exits and saves workspace in file | |
99 | .I continue | |
100 | which is loaded next time you run | |
101 | .I apl. | |
102 | .TP | |
103 | )OFF | |
104 | .br | |
105 | exits | |
106 | .I apl. | |
107 | .TP | |
108 | )READ n | |
109 | .br | |
110 | reads in a function from file \fIn\fR. The first line is the header, | |
111 | with no del's. The full APL\360 header is accepted. All other | |
112 | lines in the file are lines in the function. Lines are implicitly numbered, | |
113 | and transfers are as usual. There are no labels. | |
114 | .TP | |
115 | )EDIT n | |
116 | .br | |
117 | runs the editor | |
118 | .IR ed (1) | |
119 | on file \fIn\fR, and then )READ's the file when you leave the editor. | |
120 | .TP | |
121 | )EX n | |
122 | .br | |
123 | runs the editor | |
124 | .IR ex (1) | |
125 | on file \fIn\fR, and then )READ's the file when | |
126 | you leave the editor. | |
127 | .TP | |
128 | )VI n | |
129 | .br | |
130 | runs the editor | |
131 | .IR vi (1) | |
132 | on file \fIn\fR, and then )READ's the file when | |
133 | you leave the editor. | |
134 | .TP | |
135 | )LIB | |
136 | .br | |
137 | lists out all of the files in the current directory. | |
138 | .TP | |
139 | )FNS | |
140 | .br | |
141 | lists out all current functions. | |
142 | .TP | |
143 | )VARS | |
144 | .br | |
145 | lists out all current variables. | |
146 | .TP | |
147 | )DEBUG | |
148 | .br | |
149 | toggles a debugging switch, which can produce vast amounts | |
150 | of hopelessly cryptic output. | |
151 | .SH FILES | |
152 | apl_ws \- temporary workspace file | |
153 | .br | |
154 | continue \- continue workspace | |
155 | .SH AUTHORS | |
156 | Ken Thompson, Ross Harvey, Douglas Lanam | |
157 | .SH BUGS | |
158 | This program has not been extensively used or tested. | |
159 | .bp | |
160 | .SH ASCII CHAR MNEMONICS | |
161 | .nf | |
162 | .ta 0.5i 1.0i 3.0i 3.5i 4.0i | |
163 | ||
164 | & \(*L and # \(mu times | |
165 | \- \- minus + \(pl add | |
166 | < < less than > > greater than | |
167 | = = equal to , , comma | |
168 | % \(di divide * * exponential (power) | |
169 | ! ! factorial and combinations ? ? deal | |
170 | .le \(<= less than or equal .ge \(>= greater than or equal | |
171 | .ne \(!= not equal .om \(*W omega (not used) | |
172 | .ep \(*e epsilon .rh \(*r shape (rho) | |
173 | .nt \(no not (also \'~\') .tk \(ua take (also \'^\') | |
174 | .dr \(da drop .it \(*i iota | |
175 | .ci \(ci circular function .al \(*a alpha (not used) | |
176 | .cl \(lc maximum (ceiling) .fl \(lf minimum (floor) | |
177 | .dl \(*D del (not used) .de \(gr upside down del | |
178 | .jt \(de small circle (null) .qd \(sq quad | |
179 | .ss \(sb right U (not used) .sc \(sp left U (not used) | |
180 | .si \(ca Down U .su \(cu U (not used) | |
181 | .[^ \(gr upside-down del .bv \o'\(lf\(rf' decode (base) | |
182 | .rp \o'\(lc\(rc' encode (rep) .br \(or residue (mod) | |
183 | .sp \(<- assignment (also '_') .go \(-> goto | |
184 | .or V or .nn \o'\(*L~' nand | |
185 | .nr \o'v~' nor .lg \o'*\(ci' log | |
186 | .rv \o'\(ci\(or' reversal .tr \o'\(ci\e' transpose | |
187 | .rb reverse bar .cb \o',-' comma bar ( not used) | |
188 | .sb \o'/-' slash bar .bb \o'\e-' blackslash bar | |
189 | .gu \o'\(*D\(or' grade up .gd \o'\(gr\(or' grade down | |
190 | .qq \o'\(sq\(fm' quote quad .dm \o'\(sq:' domino | |
191 | .lm \o'\(ca\(de' lamp .ib \o'\(rc\(lc\(lf\(rf' I-beam | |
192 | .ex execute (not used) .fr format(not used) | |
193 | .di diamond (not used) .ot out (not used) | |
194 | .ld \o'\(*D~' locked del (not used) ._a A alias for \'A\' | |
195 | ._b B alias for \'B\' ._c C alias for \'C\' | |
196 | ._d D alias for \'D\' ._e E alias for \'E\' | |
197 | ._f F alias for \'F\' ._g G alias for \'G\' | |
198 | ._h H alias for \'H\' ._i I alias for \'I\' | |
199 | ._j J alias for \'J\' ._k K alias for \'K\' | |
200 | ._l L alias for \'L\' ._m M alias for \'M\' | |
201 | ._n N alias for \'N\' ._o O alias for \'O\' | |
202 | ._p P alias for \'P\' ._q Q alias for \'Q\' | |
203 | ._r R alias for \'R\' ._s S alias for \'S\' | |
204 | ._t T alias for \'T\' ._u U alias for \'U\' | |
205 | ._v V alias for \'V\' ._w W alias for \'W\' | |
206 | ._x X alias for \'X\' ._y Y alias for \'Y\' | |
207 | ._z Z alias for \'Z\' | |
208 | .fi |