Mnemonics: Difference between revisions

Jump to navigation Jump to search
7,305 bytes added ,  03:31, 24 July 2022
Line 101: Line 101:


== Pairing glyphs/functionality with their keyboard locations ==
== Pairing glyphs/functionality with their keyboard locations ==
:''This list is incomplete; you can help by [{{fullurl:{{FULLPAGENAME}}|action=edit&section=2}} expanding it].''
The following mnemonics are for [[Dyalog APL]]'s US English keyboard layout, but can easily be adapted to similar layouts.
Below is a US English APL keyboard layout (from [[Dyalog APL]]), annotated with short mnemonics. Some of the mnemonics are then fully explained.
=== Number row keys ===
<source lang=apl inline>⋄</source> begins new APL expressions just like <kbd>`</kbd> button begins the main section of the keyboard. <source lang=apl inline>⌺</source> is a modified version of <source lang=apl inline>⌺</source>, so it is <kbd>Shift</kbd>+<source lang=apl inline>⋄</source>.


{{#css:.image img{width:100%;height:auto}}[[File:Keyboard Mnemonics.png]]
<source lang=apl inline>¨</source> applies a function to each 1 of the argument elements, so it is on <kbd>APL</kbd>+<kbd>1</kbd>. <source lang=apl inline>⌶</source> looks like a [[wikipedia:Roman numerals|Roman numeral]] 1, so it also lives on the <kbd>1</kbd>, albeit in the shifted position.
 
<source lang=apl inline>¯</source>, <source lang=apl inline><</source>, <source lang=apl inline>≤</source>, <source lang=apl inline>=</source>, <source lang=apl inline>≥</source>, <source lang=apl inline>></source>, and <source lang=apl inline>≠</source> form a block. The number line 1–9 (because 0 on the far right) is split into two [[equal]] halves by <kbd>5</kbd> so that gives <source lang=apl inline>=</source>. <kbd>4</kbd> and <kbd>6</kbd> are slightly less and more, respectively, so they give <source lang=apl inline>≤</source> and <source lang=apl inline>≥</source>. <kbd>3</kbd> and <kbd>7</kbd> are much less and more, respectively, so they give <source lang=apl inline><</source> and <source lang=apl inline>></source>. Finally, <kbd>2</kbd> is so much less that it is negative, giving the negative sign <source lang=apl inline>¯</source>, and <kbd>8</kbd> is so much greater that it is completely [[not equal|unequal]], <source lang=apl inline>≠</source>.
 
<source lang=apl inline>⍒</source> and <source lang=apl inline>⍋</source> are located on <kbd>#</kbd> (read "pound", <kbd>£</kbd> on British keyboards). <source lang=apl inline>⍒</source> pointing down is on the lower of the two numbers 3 and 4. This can be remembered as the pound going down due to [[wikipedia:Brexit|Brexit]].
 
<source lang=apl inline>⌽</source> mirrors an array over its vertical centre, so it is placed on the centre of the 1–9 number line. <source lang=apl inline>⍉</source> is slightly off centre, while <source lang=apl inline>⊖</source> has completely fallen over.
 
<source lang=apl inline>∨</source> and <source lang=apl inline>∧</source> are on the largest (<kbd>9</kbd>) and smallest (<kbd>0</kbd>) digits, respectively, as <source lang=apl inline>∨</source> is inclusive (any argument being true gives true) while <source lang=apl inline>∧</source> is exclusive (any false gives false). Their negated versions <source lang=apl inline>⍱</source> and <source lang=apl inline>⍲</source> are on the shifted positions.
 
<source lang=apl inline>×</source> is adjacent to <source lang=apl inline>∧</source> for which it is equivalent on [[Boolean]] arguments. <source lang=apl inline>!</source> is above it, being <source lang=apl inline>×/⍳</source>. <source lang=apl inline>÷</source> is adjacent to its inverse, <source lang=apl inline>×</source>. And <source lang=apl inline>⌹</source> is in the shifted position, being the [[matrix]] equivalent of <source lang=apl inline>÷</source>.
=== Top row keys ===
<source lang=apl inline>?</source> is on <kbd>q</kbd> for '''''q'''uestion''.
 
<source lang=apl inline>⍵</source>, <source lang=apl inline>∊</source>, and <source lang=apl inline>⍳</source> look similar to <kbd>w</kbd>, <kbd>e</kbd>, and <kbd>i</kbd>. <source lang=apl inline>⍷</source> and <source lang=apl inline>⍷</source> are the shifted variants of <source lang=apl inline>∊</source> and <source lang=apl inline>⍸</source>. The Greek letters <source lang=apl inline>∊</source>, and <source lang=apl inline>⍳</source> are also equivalent to the Latin ''e'', and ''i''.
 
<source lang=apl inline>⍴</source> is the Greek equivalent of ''r''.
 
<source lang=apl inline>~</source> is on <kbd>t</kbd> for its name '''''t'''ilde'', and its variant with diaeresis, <source lang=apl inline>⍨</source>, is on the shifted position.
 
<source lang=apl inline>↑</source> is on <kbd>y</kbd> for '''''y'''ank'' (=take), and <source lang=apl inline>↓</source> is on the adjacent <kbd>u</kbd> for '''''drop''' down '''u'''nder''.
 
<source lang=apl inline>○</source> is on <kbd>o</kbd> due to the similar looks, and <source lang=apl inline>⍥</source> is the shifted variant. <source lang=apl inline>⍥</source> is also on <kbd>O</kbd> for '''''O'''ver''.
 
<source lang=apl inline>*</source> is on <kbd>p</kbd> for '''''p'''ower'', and <source lang=apl inline>⍣</source> is the shifted variant.
 
<source lang=apl inline>←</source>  and <source lang=apl inline>→</source> match the directionality of <kbd>[</kbd> and <kbd>]</kbd>. <source lang=apl inline>⍞</source> is usually immediately assigned to/from using <source lang=apl inline>←</source>, so they share key. <source lang=apl inline>⍬</source> is the empty vector and vectors are usually pictured as arrows pointing right, so it shares key with <source lang=apl inline>→</source>.
 
<source lang=apl inline>⊢</source> is on the '''right'''most key, and its shifted variant <source lang=apl inline>⊣</source> points the other way.
=== Home row keys ===
<source lang=apl inline>⍺</source> looks similar to <kbd>a</kbd>. The Greek letter <source lang=apl inline>⍺</source>is also equivalent to the Latin ''a''. Finally, <source lang=apl inline>⍺</source>, being the left argument, is (below and) to the left of the right argument <source lang=apl inline>⍵</source> on <kbd>w</kbd>.
 
<source lang=apl inline>⌈</source> is on <kbd>s</kbd> for '''''s'''eiling'' (since ''c'' is pronounced like ''s'' here) and also finds the superlative argument. <source lang=apl inline>∊</source> is adjacent on <kbd>d</kbd> for ''rounding '''d'''own''.
 
<source lang=apl inline>_</source> is on <kbd>f</kbd> for being a '''''f'''loormat''.
 
<source lang=apl inline>∇</source> is on <kbd>g</kbd> for '''''g'''o!'', indicating the beginning of a function definition or going around again (recursion). Adjecent, we find its upturned variant, <source lang=apl inline>∆</source>, which is a '''''h'''ome'' tent, located on on <kbd>h</kbd>.
 
<source lang=apl inline>∘</source> on <kbd>j</kbd> is called '''''j'''ot''. Its variant with diaeresis, <source lang=apl inline>⍤</source>, is on the shifted position.
 
<source lang=apl inline>'</source> is on <kbd>k</kbd> for '''''k'''uote'' (since ''q'' is reserved for ''question'', as in "Q&A").
 
<source lang=apl inline>⌸</source> is also on <kbd>K</kbd> for '''''K'''ey''.
 
<source lang=apl inline>⎕</source> is on <kbd>L</kbd> which looks like its lower left half. <source lang=apl inline>⌷</source> is its squished equivalent, on the shifted key.
 
<source lang=apl inline>⍎</source> executes code, and is on <kbd>;</kbd> which is a ubiquitous symbol in code. Adjacent is <source lang=apl inline>⍕</source> which is its inverse and is found on <kbd>'</kbd> because it makes things into text, as indicated by the quote.
 
<source lang=apl inline>≡</source> is on <kbd>:</kbd> — a stack of lines on a stack of dots. <source lang=apl inline>≢</source> is its negation and is found adjacent to it, on the <kbd>'</kbd> key, <source lang=apl inline>≢</source> being a <source lang=apl inline>≡</source> with a <code>'</code> drawn on top.
=== Bottom row keys ===
<source lang=apl inline>⊂</source> is on <kbd>z</kbd> because it '''''z'''ips'' up (encloses) a value into a scalar. Its shifted variant <source lang=apl inline>⊆</source> only does so conditionally. Its inverse and mirror-image, <source lang=apl inline>⊃</source>, is located adjacent, on <kbd>x</kbd> because it ''e'''x'''tracts'' (discloses) the content of an enclosed scalar.
 
<source lang=apl inline>∩</source> is on <kbd>c</kbd> for '''''c'''ap'', and its upturned variant, <source lang=apl inline>∪</source>, is adjacent on <kbd>v</kbd> to which it is visually similar.
 
<source lang=apl inline>⊥</source> is on <kbd>b</kbd> because it evaluates digits in a given '''''b'''ase''. Its upturned variant <source lang=apl inline>⊤</source> is adjacent on <kbd>n</kbd> because it converts a normal '''''n'''umber'' to a custom '''''n'''umber'' system.
 
<source lang=apl inline>|</source> is on <kbd>m</kbd> for '''''modulo''/'''''m'''agnitude'' and '''''modulus''.
 
<source lang=apl inline>⍝</source> is on <kbd>,</kbd> due to the similarity of the words ''comma'' and ''comment''. Shifted <kbd>,</kbd> gives the barred version, <source lang=apl inline>⍪</source>.


<source lang=apl inline></source> begins new APL expressions just like <kbd>`</kbd> button begins the main section of the keyboard.<br>
<source lang=apl inline></source> is adjacent to its mirrored counter-part <source lang=apl inline></source> which in turn is a barred version of its key, <kbd>/</kbd>.
<source lang=apl inline></source> is a modified version of <source lang=apl inline>⌺</source>, so it is <kbd>Shift</kbd>+<source lang=apl inline>⋄</source>.


<source lang=apl inline>¨</source> applies a function to each 1 of the argument elements, so it is on <kbd>APL</kbd>+<kbd>1</kbd>.<br>
<source lang=apl inline></source> varies the meaning of its operand, so it is in the corner on <kbd>?</kbd>, adjacent to all the shifting keys.
<source lang=apl inline>⌶</source> looks like a [[wikipedia:Roman numerals|Roman numeral]] 1, so it also lives on the <kbd>1</kbd>.
=== Summary ===
All the above mnemonics are annotated on the below image of a US English keyboard layout:
{{#css:.image img{width:100%;height:auto}}[[File:Keyboard Mnemonics.png]]


<source lang=apl inline>¯</source>, <source lang=apl inline><</source>, <source lang=apl inline>≤</source>, <source lang=apl inline>=</source>, <source lang=apl inline>≥</source>, <source lang=apl inline>></source>, and <source lang=apl inline>≠</source> form a block. The number line 1–9 (because 0 on the far right) is split into two [[equal]] halves by <kbd>5</kbd> so that gives <source lang=apl inline>=</source>. <kbd>4</kbd> and <kbd>6</kbd> are slightly less and more, respectively, so they give <source lang=apl inline>≤</source> and <source lang=apl inline>≥</source>. <kbd>3</kbd> and <kbd>7</kbd> are much less and more, respectively, so they give <source lang=apl inline><</source> and <source lang=apl inline>></source>. Finally, <kbd>2</kbd> is so much less that it is negative, giving the negative sign <source lang=apl inline>¯</source>, and <kbd>8</kbd> is so much greater that it is completely [[not equal|unequal]], <source lang=apl inline>≠</source>.
== Pairing monadic and dyadic meanings ==
== Pairing monadic and dyadic meanings ==
Meaning pairings fall into three groups as follows.
Meaning pairings fall into three groups as follows.

Navigation menu