joec@Morgan.COM (Joe Collins) (03/07/91)
Well I found my (ancient) list of Ibeams as found on that early APL known as APL/1500: I3 - read light pen position I4 - tells which devices are operation at THIS terminal: 1-CRT 2-Typewriter 3-CRT and Typewriter 4-Film Projector 5- (4 and 1) 6- (4 and 2) 7- all three devices I5 - current sense switch settings on the mainframe console I6 - current console switch settings on the console I7 - Number of bytes available for FN storage, max was 5120 I8 - Terminal number, 0 through 31 I9 - Vector of active terminals, i.e. someone signed on I10- Your signon number at this terminal I11- Your terminal type: 0=CRT, 1=Typewriter I12- Index origin I13- Current random seed I14- Row# where next CRT output will appear I15- Current film frame number, 1 thru 1022 I16- Current max output line width setting I17- Time out indicator: 0-Last input did not timeout 1-Last input timed out I18- Current time-out limit for quad input and I3 input I19- Cumulative input wait time in 60ths of a secondsm since signon I20- Time of day in 60ths of a second since midnight I21- elapsed cpu time in 60ths of a second, since signon I22- Number of bytes available for var staorage, max was 6400 I23- Number of users signed on right now I24- Signon time in 60ths of a second I25- todays dates in form MMDDYY I26- Current line number of function being executed I27- vector of suspended line numbers I28- number of suspended line numbers I29- current setting for significant digits display They also had a primitive known as DOMINO (which we now call matrix divide). It served a very different purpose. Using D for the symbol: D0 - clear the CRT screen D1 - switch to the OTHER ternminal (CRT <-> TYPEWRITER) D2,N - set index origin where N is 0 or 1 D3,N - set random number seed D4,N - set CRT row for next output if using a CRT D5,N - positions FILM projector at frame N D6,N - sets max line width ala )WIDTH D7,N - pause for N/60 seconds D8 - pause until a key if pressed D9,N - set significant digits display to N digits, N le 6 D10,N- set time out value for quad and light pen Lastly: range D data would plot data within range, very simple and very fast. -this APL would be primitive compared to today but it had some other interesting primitives: A alpha B <-> A take B rho 1 A omega B <-> reverse/rotate of A alpha B It also had a file system as well and most of todays primitives but no system functions or system variables, no execute, one workspace per account (no )LIB command) and (ugh) all functions and variables had to have a single character name, A-Z or a-z. Finally, the workspace was tiny. But it had scan even before the mainframe did. Remember, this was 1968-1970. BTW this was at Fairfield University in Fairfield Connecticut. lastly, they had )PURGE which I loved...it cleared all suspensions in a single command. Oh well....back to work. joec@morgan.com