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