|
|
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.