4,506
edits
Line 101: | Line 101: | ||
== Pairing glyphs/functionality with their keyboard locations == | == Pairing glyphs/functionality with their keyboard locations == | ||
The following mnemonics are for [[Dyalog APL]]'s US English keyboard layout, but can easily be adapted to similar layouts. | |||
=== 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>. | |||
<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 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 lang=apl inline> | <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. | ||
=== 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]] | |||
== 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. |