| 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 | .\" |
| 5 | .\" @(#)apl.1 4.1 (Berkeley) %G% |
| 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 |