https://github.com/utkarshkukreti/apl-inputrc
Easier way to input APL symbols in GNU APL (or other interactive command line programs).
https://github.com/utkarshkukreti/apl-inputrc
apl gnu-apl
Last synced: about 1 year ago
JSON representation
Easier way to input APL symbols in GNU APL (or other interactive command line programs).
- Host: GitHub
- URL: https://github.com/utkarshkukreti/apl-inputrc
- Owner: utkarshkukreti
- Created: 2019-05-22T14:34:35.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-11-22T10:29:19.000Z (over 3 years ago)
- Last Synced: 2025-05-07T21:39:59.668Z (about 1 year ago)
- Topics: apl, gnu-apl
- Language: Ruby
- Homepage:
- Size: 11.7 KB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# apl-inputrc
> Easier way to input APL symbols in GNU APL (or other interactive command line
> programs).

This repository contains an inputrc configuration file meant to be used with
[`rlwrap`][rlwrap] and a command line APL interpreter.
The file contains easy to remember mappings for all symbols used by APL that
are not present on a standard keyboard.
The mappings follow a what-it-looks-like convention. For example, the character
`←` looks like `<-` and so can be typed using a 3 character sequence: `` `<- ``.
Similarly, `∊` is typed as `` `e `` and `⍬` as `` `o~ ``.
If the symbol contains a character that looks similar to a vertically flipped
ASCII character, the mappings use the capitalized version of that character. For
example, `` `t `` is `⊤` and `` `T `` is `⊥`.
## Usage
### GNU APL
$ INPUTRC=/path/to/this/directory/inputrc rlwrap --always-readline apl
### Dyalog APL (with Docker)
$ INPUTRC=/path/to/this/directory/inputrc rlwrap --always-readline docker run -it dyalog/dyalog
## All Mappings
| Input | Output |
| ----- | ------ |
| `` `/ `` | ÷ |
| `` `x `` | × |
| `` `L `` | ⌈ |
| `` `l `` | ⌊ |
| `` `o* `` | ⍟ |
| `` `*o `` | ⍟ |
| `` `o `` | ○ |
| `` `[:-] `` | ⌹ |
| `` `T `` | ⊥ |
| `` `t `` | ⊤ |
| `` `^ `` | ∧ |
| `` `v `` | ∨ |
| `` `^~ `` | ⍲ |
| `` `~^ `` | ⍲ |
| `` `v~ `` | ⍱ |
| `` `~v `` | ⍱ |
| `` `<= `` | ≤ |
| `` `>= `` | ≥ |
| `` `/= `` | ≠ |
| `` `== `` | ≡ |
| `` `=/= `` | ≢ |
| `` `p `` | ⍴ |
| `` `-, `` | ⍪ |
| `` `,- `` | ⍪ |
| `` `o\| `` | ⌽ |
| `` `\|o `` | ⌽ |
| `` `o- `` | ⊖ |
| `` `-o `` | ⊖ |
| `` `o\ `` | ⍉ |
| `` `\o `` | ⍉ |
| `` `^\| `` | ↑ |
| `` `\|^ `` | ↑ |
| `` `\|v `` | ↓ |
| `` `v\| `` | ↓ |
| `` `( `` | ⊂ |
| `` `(_ `` | ⊆ |
| `` `_( `` | ⊆ |
| `` `e `` | ∊ |
| `` `[] `` | ⌷ |
| `` `) `` | ⊃ |
| `` `/- `` | ⌿ |
| `` `\- `` | ⍀ |
| `` `-\ `` | ⍀ |
| `` `u `` | ∪ |
| `` `U `` | ∩ |
| `` `-\| `` | ⊣ |
| `` `\|- `` | ⊢ |
| `` `i `` | ⍳ |
| `` `i_ `` | ⍸ |
| `` `_i `` | ⍸ |
| `` `e_ `` | ⍷ |
| `` `_e `` | ⍷ |
| `` `/\|\ `` | ⍋ |
| `` `\\|/ `` | ⍒ |
| `` `- `` | ¯ |
| `` `<- `` | ← |
| `` `o~ `` | ⍬ |
| `` `~o `` | ⍬ |
| `` `oT `` | ⍎ |
| `` `To `` | ⍎ |
| `` `ot `` | ⍕ |
| `` `to `` | ⍕ |
| `` `<> `` | ⋄ |
| `` `Uo `` | ⍝ |
| `` `oU `` | ⍝ |
| `` `\-/ `` | ∇ |
| `` `a `` | ⍺ |
| `` `w `` | ⍵ |
| `` `[ ] `` | ⎕ |
| `` `: `` | ¨ |
| `` `:~ `` | ⍨ |
| `` `~: `` | ⍨ |
| `` `:* `` | ⍣ |
| `` `*: `` | ⍣ |
| `` `. `` | ∘ |
| `` `[=] `` | ⌸ |
| `` `.: `` | ⍤ |
| `` `:. `` | ⍤ |
| `` `[<>] `` | ⌺ |
| `` `[:] `` | ⍠ |
| `` `I `` | ⌶ |
[rlwrap]: https://github.com/hanslub42/rlwrap