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