This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
apl [2021/11/04 10:35] papa |
apl [2021/12/04 07:35] (current) papa [APL Character Set] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | You can enter the APL interpreter on twenex by typing APLSF. | + | **APL-20 PANDAMONIUM REIGNS!** |
| - | Then enter tty to use a non-APL keyboard. | + | |
| - | You can find the keyboard mapping for APLSF on bitsavers here: [[http:// | + | |
| - | ====== | + | **APLSF** (System Function) is an implementation of the APL programming language for TOPS-20 that is available on TWENEX. |
| - | ^ APL \\ Character ^ Name ^ ASCII ^ Escape \\ Mode ^ | + | ===== In and Out ===== |
| - | | ∧ | and | & | | | + | |
| - | | <- | assignment | _ | | | + | To start the APL interpreter, |
| - | | ÷ | divide | % | | | + | |
| - | | ⋆ | exponentiate | * | @E | | + | @APLSF |
| - | | × | multiply | # | | | + | |
| - | | ? | question (roll and deal) | ? | @Q | | + | At the '' |
| - | | ' | quote string | ' | @K | | + | |
| - | | ↑ | take | %%^%% | @Y | | + | Leave APLSF by entering one of the following commands (APLSF converts all alphabetic input to upper-case): |
| - | | ∣ | residue (ABsolute value) | .AB | @M | | + | |
| - | | α | ALpha | .AL | @A | | + | |'' |
| - | | ⎕ | quad (BoX) | .BX | @L | | + | |'' |
| - | | ⌈ | CEiling (maximum) | .CE | @S | | + | |'' |
| - | | ↓ | drop (Down Arrow) | .DA | @U | | + | |
| - | | ¨ | Dieresis | .DD | | | + | To interrupt APLSF during execution, press '' |
| - | | ⊥ | DEcode | .DE | @B | | + | |
| - | | ∇ | DeL | .DL | @G | | + | Press '' |
| - | | ◊ | DiaMond | .DM | | | + | |
| - | | ∩ | Down Under | .DU | @C | | + | |
| - | | ⊤ | ENcode | .EN | @N | | + | ===== APL Character Set ===== |
| - | | ∈ | EPsilon | .EP | @E | | + | |
| - | | ≥ | Greater then or Equal to | .GE | | | + | Although APL characters cannot be displayed or input when the terminal is in TTY mode, APLSF provides ASCII character string equivalents for all the APL characters as well as " |
| - | | -> | GO to (branch) | .GO | | | + | |
| + | ^ APL \\ Character ^ Name ^ ASCII ^ Escape \\ Mode ^ ^ APL \\ Character ^ Name ^ ASCII ^ | ||
| + | | ∧ | and | & | | | ⍒ | Grade Down | .GD | | ||
| + | | <- | assignment | _ | | | ⍋ | Grade Up | .GU | | ||
| + | | ÷ | divide | % | | | ⌶ | I-Beam (histogram) | .IB | | ||
| + | | ⋆ | exponentiate | * | @E | | ⍟ | LoGarithm | .LG | | ||
| + | | × | multiply | # | | | ⍲ | NaNd | .NN | | ||
| + | | ? | question (roll and deal) | ? | @Q | | ⍱ | NoR | .NR | | ||
| + | | ' | quote string | ' | @K | | ⍀ | back expansion | .CB | | ||
| + | | ↑ | take | %%^%% | @Y | | ⊖ | (Circle) Rotate | .CR | | ||
| + | | ∣ | residue (ABsolute value) | .AB | @M | | ⌿ | back scan | .CS | | ||
| + | | α | ALpha | .AL | @A | | ⌹ | Divide Quad | .DQ | | ||
| + | | ⎕ | quad (BoX) | .BX | @L | | | Input Quad | .IQ | | ||
| + | | ⌈ | CEiling (maximum) | .CE | @S | | | Output Quad | .OQ | | ||
| + | | ↓ | drop (Down Arrow) | .DA | @U | | | OUt | .OU | | ||
| + | | ¨ | Dieresis | .DD | | | ⍫ | Protected Del | .PD | | ||
| + | | ⊥ | DEcode | .DE | @B | | | Quad Del | .QD | | ||
| + | | ∇ | DeL | .DL | @G | | ⍞ | Quad Quote | .QQ | | ||
| + | | ◊ | DiaMond | .DM | | | ⌽ | ReVersal | .RV | | ||
| + | | ∩ | Down Under | .DU | @C | | ⍉ | TRanspose | .TR | | ||
| + | | ⊤ | ENcode | .EN | @N | | ⍎ | eXecute | .XQ | | ||
| + | | ∈ | EPsilon | .EP | @E | | ⍕ | ForMat | .FM | | ||
| + | | ⌊ | FLoor | .FL | @D | | ⍝ | Comment (lamp) | " | ||
| + | | ≥ | Greater then or Equal to | .GE | | | __A__-__Z__ | underscored alphabetics | .ZA-.ZZ | ||
| + | | -> | GO to (branch) | .GO | | | ⍙ | underscored lower del | .Z@ | | ||
| | ⍳ | IOta | .IO | @I | | | ⍳ | IOta | .IO | @I | | ||
| | { | Left curly Brace | .LB | | | | { | Left curly Brace | .LB | | | ||
| Line 47: | Line 69: | ||
| | _ | UnderScore | .US | @F | | | _ | UnderScore | .US | @F | | ||
| | ∪ | Up Union | .UU | @V | | | ∪ | Up Union | .UU | @V | | ||
| + | |||
| + | ===== Workspace Commands ===== | ||
| + | |||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |||
| + | ===== Function Editor ===== | ||
| + | |||
| + | To define a new function and invoke the editor, enter one of the following commands: | ||
| + | |||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |||
| + | Where: | ||
| + | |// | ||
| + | |//a1, a2//|Dummy arguments| | ||
| + | |// | ||
| + | |// | ||
| + | |||
| + | To edit an existing function, enter the command '' | ||
| + | |||
| + | The editor will start and prompt with the current line number, for example '' | ||
| + | |||
| + | ==== Editor commands ==== | ||
| + | |||
| + | |''// | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |'' | ||
| + | |||
| + | Multiple commands can be entered on a single line. For an example, you can open the editor on existing function '' | ||
| + | |||
| + | | ||
| + | |||
| + | ===== References ===== | ||
| + | |||
| + | * [[http:// | ||
| + | * [[http:// | ||