|
|
1.1 ! root 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) 4/29/85 ! 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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.