Created
April 14, 2022 21:30
-
-
Save smartmic/cdb8b0b3936ab965213748813b619114 to your computer and use it in GitHub Desktop.
Martin's APL Edition of Compose Sequences
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Martin's APL Edition of Compose Sequences | |
# ========================================= | |
# | |
#⠀This should be a complete list of APL symbols accessible via XCompose. | |
# | |
# I wanted an easy and independent way to enter APL symbols but found | |
# all existing solutions either inaccessible or cumbersome in one way or | |
# another. That's why I created this customized list of Compose | |
# sequences. | |
# | |
# The guiding principle is to use standard ASCII characters as building | |
# blocks for the APL symbols. Basically, you "draw" your APL symbol by | |
# strokes (ASCII chars) similarily like you would draw them by hand with | |
# a pen on paper. This is also how I derived the given sequences. In | |
# case you are unsure how the sequence for a given symbol is, it often | |
# helps to remember how you would draw it by hand. | |
# | |
# Sometimes the choice of ASCII chars is arguable, but I found this to | |
# be a good starting point. Feel free to improve for yourself and share | |
# your findings! | |
# | |
# Some remarks: | |
# * The mnemonic for ⊃ comes from the lower part of the old German | |
# (Fraktur) Z/z character: ℨ/𝔷 | |
# * The list is ordered according to the Unicode Code Point (hex | |
# number) | |
# * There are unused and/or obscure symbols in the list, not being | |
# used by any seasoned APL programmer and also not understood by | |
# most APL implementations | |
# * The main sources for this collection stem from | |
# - XLib's en_US locale Compose | |
# - https://en.wikipedia.org/wiki/Digital_encoding_of_APL_symbols | |
# - http://www.math.uwaterloo.ca/~ljdickey/apl-rep/n1.html | |
# - http://www.math.uwaterloo.ca/~ljdickey/apl-rep/n2.html | |
# - http://www.math.uwaterloo.ca/~ljdickey/apl-rep/n3.html | |
# - http://www.math.uwaterloo.ca/~ljdickey/apl-rep/n4.html | |
# | |
# by Martin Michel, April 2022, martin at famic dot de | |
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ | |
include "%L" | |
<Multi_key> <x> <space> : "×" U00D7 # x ␣ # APL Functional Symbol MULTIPLY | |
<Multi_key> <percent> <space> : "÷" U00F7 # % ␣ # APL Functional Symbol DIVIDE | |
<Multi_key> <dead_acute> <space> : "‾" U203E # % ␣ # APL Functional Symbol OVERBAR (OVERLINE) | |
<Multi_key> <bar> <dead_circumflex> <space> : "↑" U2191 # | ^ ␣ # APL Functional Symbol UPWARDS | |
<Multi_key> <bar> <v> <space> : "↓" U2193 # | v ␣ # APL Functional Symbol DOWNWARDS | |
<Multi_key> <O> <slash> : "∅" U2205 # O / # APL Functional Symbol CIRCLE SLASH | |
<Multi_key> <e> <space> : "∊" U220A # e ␣ # APL Functional Symbol EPSILON | |
<Multi_key> <minus> <space> : "−" U2212 # - ␣ # APL Functional Symbol MINUS | |
<Multi_key> <v> <slash> : "√" U221A # v / # SQUARE ROOT | |
<Multi_key> <o> <o> : "∞" U221E # o o # INFINITY | |
<Multi_key> <bar> <space> : "∣" U2223 # | ␣ # APL Functional Symbol STILE | |
<Multi_key> <dead_circumflex> <space> : "∧" U2227 # ^ ␣ # APL Functional Symbol UP CARET | |
<Multi_key> <v> <space> : "∨" U2228 # v ␣ # APL Functional Symbol DOWN CARET | |
<Multi_key> <V> <space> : "∨" U2228 # V ␣ # APL Functional Symbol DOWN CARET | |
<Multi_key> <n> <space> : "∩" U2229 # n ␣ # APL Functional Symbol UP SHOE (INTERSECTION) | |
<Multi_key> <u> <space> : "∪" U222A # u ␣ # APL Functional Symbol DOWN SHOE (UNION) | |
<Multi_key> <colon> <period> : "∴" U2234 # : . # APL Functional Symbol THEREFORE | |
<Multi_key> <period> <colon> : "∵" U2235 # . : # APL Functional Symbol DIÆRESIS DOT (BECAUSE) | |
<Multi_key> <asciitilde> <asciitilde> : "≈" U2248 # ~ ~ # APL Functional Symbol ALMOST EQUAL TO | |
<Multi_key> <equal> <underscore> <space> : "≡" U2261 # = _ ␣ # APL Functional Symbol IDENTICAL TO (SAME) | |
<Multi_key> <equal> <underscore> <slash> : "≢" U2262 # = _ / # APL Functional Symbol NOT IDENTICAL TO | |
<Multi_key> <less> <underscore> : "≤" U2264 # < _ # APL Functional Symbol LESS THAN OR EQUAL TO | |
<Multi_key> <greater> <underscore> : "≥" U2265 # > _ # APL Functional Symbol GREATER THAN OR EQUAL TO | |
<Multi_key> <c> <space> : "⊂" U2282 # c ␣ # APL Functional Symbol LEFT SHOE (SUBSET OF) | |
<Multi_key> <z> <space> : "⊃" U2283 # z ␣ # APL Functional Symbol RIGHT SHOE (SUPERSET OF) | |
<Multi_key> <c> <underscore> : "⊆" U2286 # _ ⊂ # APL Functional Symbol SUBSET OF OR EQUAL TO | |
<Multi_key> <z> <underscore> : "⊇" U2287 # _ ⊃ # APL Functional Symbol SUPERSET OF OR EQUAL TO | |
<Multi_key> <O> <plus> : "⊕" U2295 # O + # APL Functional Symbol CIRCLED PLUS | |
<Multi_key> <O> <minus> : "⊖" U2296 # O - # APL Functional Symbol CIRCLED MINUS | |
<Multi_key> <O> <period> <space> : "⊙" U2299 # O . ␣ # APL Functional Symbol CIRCLED DOT | |
<Multi_key> <bar> <minus> <space> : "⊢" U22A2 # | - ␣ # APL Functional Symbol RIGHT TACK | |
<Multi_key> <minus> <bar> : "⊣" U22A3 # - | # APL Functional Symbol LEFT TACK | |
<Multi_key> <T> <space> : "⊤" U22A4 # T ␣ # APL Functional Symbol DOWN TACK | |
<Multi_key> <bar> <underscore> <space> : "⊥" U22A5 # | _ ␣ # APL Functional Symbol UP TACK | |
<Multi_key> <less> <greater> <space> : "⋄" U22C4 # < > ␣ # APL Functional Symbol DIAMOND OPERATOR | |
<Multi_key> <asterisk> <space> : "⋆" U22C6 # * ␣ # APL Functional Symbol STAR | |
<Multi_key> <bar> <dead_acute> : "⌈" U2308 # | ' # APL Functional Symbol UP STILE | |
<Multi_key> <bar> <comma> : "⌊" U230A # | , # APL Functional Symbol DOWN STILE | |
<Multi_key> <I> <space> : "⌶" U2336 # I ␣ # APL Functional Symbol I BEAM | |
<Multi_key> <bracketleft> <bar> : "⌷" U2337 # [ | # APL Functional Symbol SQUISH QUAD | |
<Multi_key> <bracketleft> <bracketright> <equal> <space> : "⌸" U2338 # [ ] = ␣ # APL Functional Symbol QUAD EQUAL | |
<Multi_key> <bracketleft> <bracketright> <percent> : "⌹" U2339 # [ ] % # APL Functional Symbol QUAD DIVIDE | |
<Multi_key> <bracketleft> <bracketright> <less> <greater> : "⌺" U233A # [ ] < > # APL Functional Symbol QUAD DIAMOND | |
<Multi_key> <bracketleft> <bracketright> <o> : "⌻" U233B # [ ] o # APL Functional Symbol QUAD JOT | |
<Multi_key> <bracketleft> <bracketright> <O> : "⌼" U233C # [ ] O # APL Functional Symbol QUAD CIRCLE | |
<Multi_key> <O> <bar> : "⌽" U233D # O | # APL Functional Symbol CIRCLE STILE | |
<Multi_key> <O> <o> : "⌾" U233E # O o # APL Functional Symbol CIRCLE JOT | |
<Multi_key> <slash> <minus> : "⌿" U233F # / - # APL Functional Symbol SLASH BAR | |
<Multi_key> <backslash> <minus> : "⍀" U2340 # \ - # APL Functional Symbol BACKSLASH BAR | |
<Multi_key> <bracketleft> <bracketright> <slash> <space> : "⍁" U2341 # [ ] / ␣ # APL Functional Symbol QUAD SLASH | |
<Multi_key> <bracketleft> <bracketright> <backslash> <space> : "⍂" U2342 # [ ] \ ␣ # APL Functional Symbol QUAD BACKSLASH | |
<Multi_key> <bracketleft> <bracketright> <less> <space> : "⍃" U2343 # [ ] < ␣ # APL Functional Symbol QUAD LESS | |
<Multi_key> <bracketleft> <bracketright> <greater> <space> : "⍄" U2344 # [ ] > ␣ # APL Functional Symbol QUAD GREATER | |
<Multi_key> <bar> <less> <minus> : "⍅" U2345 # | < - # APL Functional Symbol LEFTWARDS VANE | |
<Multi_key> <bar> <minus> <greater> : "⍆" U2346 # | - > # APL Functional Symbol RIGHTWARDS VANE | |
<Multi_key> <bracketleft> <bracketright> <less> <minus> : "⍇" U2347 # [ ] < - # APL Functional Symbol QUAD LEFTWARDS ARROW | |
<Multi_key> <bracketleft> <bracketright> <minus> <greater> : "⍈" U2348 # [ ] - > # APL Functional Symbol QUAD RIGHTWARDS ARROW | |
<Multi_key> <O> <backslash> : "⍉" U2349 # O \ # APL Functional Symbol CIRCLE BACKSLASH | |
<Multi_key> <bar> <underscore> <underscore> : "⍊" U234A # | _ _ # APL Functional Symbol DOWN TACK UNDERBAR | |
<Multi_key> <slash> <backslash> <bar> : "⍋" U234B # / \ | # APL Functional Symbol DELTA STILE | |
<Multi_key> <bracketleft> <bracketright> <v> : "⍌" U234C # [ ] ∨ # APL Functional Symbol QUAD DOWN CARET | |
<Multi_key> <bracketleft> <bracketright> <slash> <backslash> : "⍍" U234D # [ ] ∆ # APL Functional Symbol QUAD DELTA | |
<Multi_key> <o> <bar> <underscore> : "⍎" U234E # o | _ # APL Functional Symbol DOWN TACK JOT | |
<Multi_key> <bar> <dead_circumflex> <minus> : "⍏" U234F # | ^ - # APL Functional Symbol UPWARDS VANE | |
<Multi_key> <bracketleft> <bracketright> <bar> <dead_circumflex> : "⍐" U2350 # [ ] | ^ # APL Functional Symbol QUAD UPWARDS ARROW | |
<Multi_key> <T> <dead_acute> : "⍑" U2351 # T ' # APL Functional Symbol UP TACK OVERBAR | |
<Multi_key> <backslash> <slash> <bar> : "⍒" U2352 # \ / | # APL Functional Symbol DEL STILE | |
<Multi_key> <bracketleft> <bracketright> <dead_circumflex> : "⍓" U2353 # [ ] ^ # APL Functional Symbol QUAD UP CARET | |
<Multi_key> <bracketleft> <bracketright> <backslash> <slash> : "⍔" U2354 # [ ] \ / # APL Functional Symbol QUAD DEL | |
<Multi_key> <T> <o> : "⍕" U2355 # T o # APL Functional Symbol UP TACK JOT | |
<Multi_key> <bar> <v> <minus> : "⍖" U2356 # | v - # APL Functional Symbol DOWNWARDS VANE | |
<Multi_key> <bracketleft> <bracketright> <bar> <v> : "⍗" U2357 # [ ] | # APL Functional Symbol QUAD DOWNWARDS ARROW | |
<Multi_key> <apostrophe> <underscore> : "⍘" U2358 # ' _ # APL Functional Symbol QUOTE UNDERBAR | |
<Multi_key> <slash> <backslash> <underscore> : "⍙" U2359 # / \ _ # APL Functional Symbol DELTA UNDERBAR | |
<Multi_key> <less> <greater> <underscore> : "⍚" U235A # < > _ # APL Functional Symbol DIAMOND UNDERBAR | |
<Multi_key> <o> <underscore> : "⍛" U235B # o _ # APL Functional Symbol JOT UNDERBAR | |
<Multi_key> <O> <underscore> : "⍜" U235C # O _ # APL Functional Symbol CIRCLE UNDERBAR | |
<Multi_key> <n> <o> : "⍝" U235D # n o # APL Functional Symbol UP SHOE JOT | |
<Multi_key> <bracketleft> <bracketright> <apostrophe> : "⍞" U235E # [ ] ' # APL Functional Symbol QUOTE QUAD | |
<Multi_key> <O> <asterisk> : "⍟" U235F # O * # APL Functional Symbol CIRCLE STAR | |
<Multi_key> <bracketleft> <bracketright> <colon> : "⍠" U2360 # [ ] : # APL Functional Symbol QUAD COLON | |
<Multi_key> <T> <period> <period> : "⍡" U2361 # T . . # APL Functional Symbol UP TACK DIÆRESIS | |
<Multi_key> <backslash> <slash> <period> <period> : "⍢" U2362 # \ / . . # APL Functional Symbol DEL DIÆRESIS | |
<Multi_key> <asterisk> <period> <period> : "⍣" U2363 # * . . # APL Functional Symbol STAR DIÆRESIS | |
<Multi_key> <o> <period> <period> : "⍤" U2364 # o . . # APL Functional Symbol JOT DIÆRESIS | |
<Multi_key> <O> <period> <period> : "⍥" U2365 # O . . # APL Functional Symbol CIRCLE DIÆRESIS | |
<Multi_key> <u> <bar> : "⍦" U2366 # u | # APL Functional Symbol DOWN SHOE STILE | |
<Multi_key> <c> <bar> : "⍧" U2367 # c | # APL Functional Symbol LEFT SHOE STILE | |
<Multi_key> <asciitilde> <period> <period> : "⍨" U2368 # ~ . . # APL Functional Symbol TILDE DIÆRESIS | |
<Multi_key> <greater> <period> <period> : "⍩" U2369 # > . . # APL Functional Symbol GREATER THAN DIÆRESIS | |
<Multi_key> <backslash> <slash> <asciitilde> <dead_acute> : "⍫" U236B # \ / ~ # APL Functional Symbol DEL TILDE | |
<Multi_key> <0> <asciitilde> <space> : "⍬" U236C # 0 ~ ␣ # APL Functional Symbol ZILDE | |
<Multi_key> <bar> <asciitilde> : "⍭" U236D # | ~ # APL Functional Symbol STILE TILDE | |
<Multi_key> <semicolon> <underscore> : "⍮" U236E # ; _ # APL Functional Symbol SEMICOLON UNDERBAR | |
<Multi_key> <bracketleft> <bracketright> <equal> <slash> : "⍯" U236F # [ ] = / # APL Functional Symbol QUAD NOT EQUAL | |
<Multi_key> <bracketleft> <bracketright> <question> : "⍰" U2370 # [ ] ? # APL Functional Symbol QUAD QUESTION | |
<Multi_key> <v> <asciitilde> : "⍱" U2371 # v ~ # APL Functional Symbol DOWN CARET TILDE | |
<Multi_key> <V> <asciitilde> : "⍱" U2371 # V ~ # APL Functional Symbol DOWN CARET TILDE | |
<Multi_key> <dead_circumflex> <asciitilde> : "⍲" U2372 # ^ ~ # APL Functional Symbol UP CARET TILDE | |
<Multi_key> <i> <space> : "⍳" U2373 # i ␣ # APL Functional Symbol IOTA | |
<Multi_key> <r> <space> : "⍴" U2374 # r ␣ # APL Functional Symbol RHO | |
<Multi_key> <w> <space> : "⍵" U2375 # w ␣ # APL Functional Symbol OMEGA | |
<Multi_key> <a> <underscore> : "⍶" U2376 # ⍺ _ # APL Functional Symbol ALPHA UNDERBAR | |
<Multi_key> <e> <underscore> : "⍷" U2377 # e _ # APL Functional Symbol EPSILON UNDERBAR | |
<Multi_key> <i> <underscore> : "⍸" U2378 # i _ # APL Functional Symbol IOTA UNDERBAR | |
<Multi_key> <w> <underscore> : "⍹" U2379 # w _ # APL Functional Symbol OMEGA UNDERBAR | |
<Multi_key> <a> <space> : "⍺" U237A # a ␣ # APL Functional Symbol ALPHA | |
<Multi_key> <bracketleft> <bracketright> <space> : "⎕" U2395 # [ ] ␣ # APL Functional Symbol QUAD |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment