Waterloo MicroAPL for SuperPET ------------------------------ using vice emulator with xpet set pet model to SuperPET positional mapping is used for keyboard using the following script to run SuperPET APL on Linux: cd ~/superpet xpet -truedrive -superpet -cpu6809 -model SuperPET -9 Waterloo2-Language-2.d64 no lower case letters )CLEAR clears workspace )DROP TEST erase workspace )FNS list functions )LOAD TEST loads workspace )LIB defaults to listing directory of device 8 )LIB DISK9/0 list directory of device 9 )OFF exits apl (returns to waterloo microsystems options) )SAVE TEST saves workspace )VARS )WSID reports workspace name quad io returns origin quad av[86] returns matrix inverse symbol quad peek 32768 quad tc[5] clear screen quad pw returns printing width quad wa returns working area quad cr returns canonical representation quad dl n delay for n seconds, returns n a <- iota 10 b <- 7 a iota b returns first occurrence in a of each element of b e.g. 7 1 1 0 \ 5 7 expand, returns 5 7 0 keys ---- use delete for backspace / becomes / - becomes + ; becomes [ ' becomes ] = becomes multiply ] becomes { shift ] becomes } backspace becomes diamond home resets cursor to top left shift home clears screen shift 3 on number pad becomes )fns, )vars and )si shift ; becomes ( shift ' becomes ) shift - becomes minus shift , becomes ; shift / becomes \ shift = becomes divide shift 0 becomes and shift 9 becomes or shift 2 becomes high minus shift 5 becomes equal shift 8 becomes not equal shift b becomes decode shift e becomes epsilon shift g becomes del shift i becomes iota shift j becomes jot shift k becomes ' shift l becomes quad shift m becomes absolute value or modulus shift n becomes encode shift o becomes circle function shift p becomes exponent or power shift q becomes ? shift r becomes rho shift s becomes ceiling shift d becomes floor shift u becomes drop shift y becomes take shift t becomes not b <- iota 10 b jot . multiply b generates 10 times table overstrikes ----------- symbol1 followed by left cursor (left arrow) then symbol2 shift o <- shift m becomes reversal along last axis or rotate shift o <- shift - becomes reversal along first axis shift o <- shift / becomes transposition shift l <- shift k becomes quotequad shift l <- shift = becomes matrix inverse shift g <- shift m becomes delstile shift c <- shift j becomes comment shift j <- shift n becomes format shift p <- shift o becomes natural logarithm shift b <- shift n becomes ibeam shift k <- . becomes ! editing functions ----------------- del test [1] 'hello' [2] 'there' del del test [1] 'hello' [2] 'thare' [3] [2] [2] 'there' <- correcting line 2 [3] del to insert lines between 2 and 3 use fractional line number e.g. [2.5] [quad] lists current function