BSD 3 development
[unix-history] / usr / man / man1 / apl.1
CommitLineData
fc3ceb55
KT
1.TH APL 1 10/19/79
2.UC
3.SH NAME
4apl \- an apl interpreter
5.SH SYNOPSIS
6.B apl
7.SH DESCRIPTION
8.I Apl
9is an APL interpreter.
10All of the operators are exactly as in apl\e360.
11Overstrikes are often
12required, and they work (use ctrl-h).
13.PP
14Function definition is not what you would expect. Functions are loaded
15from files. The first line of the file is the function header, as you
16would expect it but with no del. The rest of the file is the lines
17of the function. Lines are numbered, but there are no
18square brackets with line numbers. If you say
19)READ FILE it will load the function
20in that file. If you say )EX FILE it will put you in the
21editor to change that file. Upon exit, it will read the file in
22as though by )READ.
23.PP
24All of the usual operators are available, including domino.
25Also available are monadic encode and epsilon.
26.LP
27The following
28.I apl
29system commands are available.
30.TP
31)ASCII
32.br
33changes terminal to accept and print ASCII characters and operators;
34this is the default.
35If you are stuck in APL mode on an ASCII terminal, `"' is `)' and
36lowercase letters map to uppercase.
37.TP
38)APL
39.br
40changes 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
45sets the number of digits displayed to n, from 1 to 19.
46.TP
47)FUZZ n
48.br
49sets the fuzz to n.
50.TP
51)ORIGIN n
52.br
53sets the origin to n, which should be 1 or 0.
54.TP
55)WIDTH n
56.br
57sets
58.IR apl \&'s
59idea of your terminal's carriage width.
60.TP
61)ERASE n
62.br
63gets rid of function or variable named n.
64.TP
65)SAVE n
66.br
67saves all variables and functions (workspace) in file named n.
68Workspaces are sensitive to changes in
69.I apl.
70.TP
71)LOAD n
72.br
73gets the workspace in file n (which must have been
74)SAVE'd.)
75.TP
76)COPY n
77.br
78like )LOAD but variables and functions are not erased. Things
79in the loaded file take precedence over stuff already in.
80.TP
81)CLEAR
82.br
83clears the workspace.
84.TP
85)DROP n
86.br
87deletes file n in your directory, which need not be saved from
88.I apl.
89.TP
90)CONTINUE
91.br
92exits and saves workspace in file
93.I continue
94which is loaded next time you run
95.I apl.
96.TP
97)OFF
98.br
99exits
100.I apl.
101.TP
102)READ n
103.br
104reads in a function from file \fIn\fR. The first line is the header,
105with no del's. The full APL\360 header is accepted. All other
106lines in the file are lines in the function. Lines are implicitly numbered,
107and transfers are as usual. There are no labels.
108.TP
109)EDIT n
110.br
111runs the editor
112.IR ed (1)
113on file \fIn\fR, and then )READ's the file when you leave the editor.
114.TP
115)EX n
116.br
117runs the editor
118.IR ex (1)
119on file \fIn\fR, and then )READ's the file when
120you leave the editor.
121.TP
122)VI n
123.br
124runs the editor
125.IR vi (1)
126on file \fIn\fR, and then )READ's the file when
127you leave the editor.
128.TP
129)LIB
130.br
131lists out all of the files in the current directory.
132.TP
133)FNS
134.br
135lists out all current functions.
136.TP
137)VARS
138.br
139lists out all current variables.
140.TP
141)DEBUG
142.br
143toggles a debugging switch, which can produce vast amounts
144of hopelessly cryptic output.
145.SH FILES
146apl_ws \- temporary workspace file
147.br
148continue \- continue workspace
149.SH AUTHORS
150Ken Thompson, Ross Harvey, Douglas Lanam
151.SH BUGS
152This 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