This is a developer proof-of-concept version, a trial, of the Try GNU APL service. Its purpose is to demonstrate the ⎕FMT (aka #FMT) format data feature that Brian McGuinness shared on 12 Nov 2025. The production release of https://trygnuapl.github.io is unchanged.
There may be (ahem definitely) rough edges because of the integration story. The tale involves a competent AI named Gemini...
Trygnuapl strips all boxing & line-drawing characters from the line submitted to GNU APL.
The following keyboard shortcuts are acted on by trygnuapl and will only work if the key combination is not in use by the desktop environment, window manager, or the web browser.
| Ctrl+P | Previous command in the history list1 |
| Ctrl+N | Next command in the history list1 |
| Ctrl+U | Erase to the beginning of the line, i.e. the 4BSD stty(1) "kill" character |
| Ctrl+W | Erase the word to the left, i.e. the 4BSD stty(1) "werase" character |
| Ctrl+H | Backspace, traditionally, i.e. the stty(1) "erase" character |
| Ctrl+E | readline(3) move to the end of the line |
| Ctrl+A | readline(3) move to the start of the line |
| Escape | alternative move to the start of the line |
| Ctrl+A,E,U,W,H and Escape | As above |
| Shift+Enter | Submit entire buffer to GNU APL |
| Ctrl+Enter | Submit entire buffer to GNU APL |
Speed tip: to rapidly set focus and enter a new APL command, click in the REPL and then press Ctrl+N. The cursor (caret) is transported to the end and ready for input.
1. GNU APL has a complete command history feature, including context sensitive history recall and history line display filtering. Due to the stateless nature of the trygnuapl server architecture, this GNU APL feature can not be showcased. Instead, trygnuapl's browser interface implements command history substitution differently from GNU APL.
| )hi | To show the history list |
| )hi clear | To clear the history list; beware, )clear is very different |
| !n | Reissue command n>0 from the history list |
| !-n | An offset, referring to the command n before the current command |
| !! | Previous command in the history list |
| !s | The most recent command whose first word begins with the string s |
| !?s | The most recent command which contains the string s |
| ^string1^string2 | Repeat the previous command, replacing string1 with string2 |
| ^^string | Prepend string to the the previous command |
The ! character that introduces the history substitution feature of trygnuapl must be exactly on column 7 in the REPL after the six space APL prompt. If not, the line is passed to GNU APL for interpretation. Also, characters following the ! must not have intervening space, else the line is passed to GNU APL. To evaluate n factorial in the REPL, consider ! n or (!n) or ⊢!n.
GNU APL comes with two documents: A Quick Tour of GNU APL and a slightly more detailed info manual.