Mnemonics: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
'''Mnemonics''' can assist with remembering the meaning of APL [[glyph]]s where on they keyboard they are found for [[typing glyphs|typing them]]. Both of these skills are essential for an effective APL programmer. This article currently provides examples such aide-mémoires, but will be completed in due time.
'''Mnemonics''' can assist with remembering the meaning of APL [[glyph]]s where on they keyboard they are found for [[typing glyphs|typing them]]. Both of these skills are essential for an effective APL programmer. This article currently provides examples such aide-mémoires, but will be completed in due time.


[[File:Bristol Type 223 top-view silhouette.png|thumb|right|The [[Grade]] glyphs look like [[wikipedia:supersonic transport|supersonic transport]]s]]
== Pairing glyphs with their meaning ==
== Pairing glyphs with their meaning ==


Line 8: Line 7:
<source lang=apl inline>⌺</source> looks like a <source lang=apl inline>⋄</source>-shaped [[Stencil]] laid on a piece of paper, <source lang=apl inline>⎕</source>.
<source lang=apl inline>⌺</source> looks like a <source lang=apl inline>⋄</source>-shaped [[Stencil]] laid on a piece of paper, <source lang=apl inline>⎕</source>.


<source lang=apl inline></source> calls system services. APL was originally developed at [[IBM]], so system services were also IBM services. <source lang=apl inline>⌶</source> is an [[wikipedia:I-beam|I-beam]] and ''I-beam'' is pronounced almost identically to ''IBM''.
<source lang=apl inline>@</source> applies a function or substitutes elements ''[[at]]'' specific locations.


<source lang=apl inline>⌶</source> ([[I-beam]]) calls system services. APL was originally developed at [[IBM]], so system services were also IBM services. <source lang=apl inline>⌶</source> is an [[wikipedia:I-beam|I-beam]] and ''I-beam'' is pronounced almost identically to ''IBM''.
[[File:Bristol Type 223 top-view silhouette.png|thumb|upright=0.5|right|The [[Grade]] glyphs look like [[wikipedia:supersonic transport|supersonic transport]]s.]]
<source lang=apl inline>⍋</source> and <source lang=apl inline>⍒</source> give the indices ([[grade]]s) needed to sort ascending and descending respectively, and look like an ascending and descending supersonic transport, respectively.
<source lang=apl inline>⍋</source> and <source lang=apl inline>⍒</source> give the indices ([[grade]]s) needed to sort ascending and descending respectively, and look like an ascending and descending supersonic transport, respectively.


<source lang=apl inline>⌽</source>, <source lang=apl inline>⊖</source>, and <source lang=apl inline>⍉</source> [[reverse]] or [[transpose]] an array over a given [[axis]]. The <source lang=apl inline>○</source> part of the glyphs symbolise the array, while the line component (<source lang=apl inline>|</source>, <source lang=apl inline>\</source>, or <source lang=apl inline>-</source>) indicates the line across which the reversal/transposal is done.
<source lang=apl inline>⌽</source>, <source lang=apl inline>⊖</source>, and <source lang=apl inline>⍉</source> [[reverse]] or [[transpose]] an array over a given [[axis]]. The <source lang=apl inline>○</source> part of the glyphs symbolise the array, while the line component (<source lang=apl inline>|</source>, <source lang=apl inline>\</source>, or <source lang=apl inline>-</source>) indicates the line across which the reversal/transposal is done.
[[File:TreeLog.jpg|thumb|upright=0.5|right|The [[log]] glyph looks like a tree log.]]
<source lang=apl inline>⍟</source> looks like the cross-section of a tree log
<source lang=apl inline>⍱</source> and <source lang=apl inline>⍲</source> have the [[Not]] glyph <source lang=apl inline>~</source> on top of or overlaid on the [[Or]] glyph <source lang=apl inline>∨</source> and [[And]] glyph <source lang=apl inline>∧</source>  respectively.


<source lang=apl inline>⌹</source> is [[matrix divide]] with a <source lang=apl inline>⎕</source> symbolising a matrix and an inscribed <source lang=apl inline>÷</source> for "divide".
<source lang=apl inline>⌹</source> is [[matrix divide]] with a <source lang=apl inline>⎕</source> symbolising a matrix and an inscribed <source lang=apl inline>÷</source> for "divide".

Revision as of 09:14, 18 October 2020

Mnemonics can assist with remembering the meaning of APL glyphs where on they keyboard they are found for typing them. Both of these skills are essential for an effective APL programmer. This article currently provides examples such aide-mémoires, but will be completed in due time.

Pairing glyphs with their meaning

(Diamond) separates statements. That is, no functions or operators can break through , just as diamonds are virtually indestructible.

looks like a -shaped Stencil laid on a piece of paper, .

@ applies a function or substitutes elements at specific locations.

(I-beam) calls system services. APL was originally developed at IBM, so system services were also IBM services. is an I-beam and I-beam is pronounced almost identically to IBM.

The Grade glyphs look like supersonic transports.

and give the indices (grades) needed to sort ascending and descending respectively, and look like an ascending and descending supersonic transport, respectively.

, , and reverse or transpose an array over a given axis. The part of the glyphs symbolise the array, while the line component (|, \, or -) indicates the line across which the reversal/transposal is done.

The log glyph looks like a tree log.

looks like the cross-section of a tree log

and have the Not glyph ~ on top of or overlaid on the Or glyph and And glyph respectively.

is matrix divide with a symbolising a matrix and an inscribed ÷ for "divide".

/ and are also called "by" which can be remembered as reduce by.

Pairing glyphs/functionality with their keyboard locations

Below is a US English APL keyboard layout (from Dyalog APL), annotated with short mnemonics. Some of the mnemonics are then fully explained.

Keyboard Mnemonics.png

begins new APL expressions just like ` button begins the main section of the keyboard.
is a modified version of , so it is Shift+.

¨ applies a function to each 1 of the argument elements, so it is on APL+1.
looks like a Roman numeral 1, so it also lives on the 1.

APL development [edit]
Interface SessionTyping glyphs (on Linux) ∙ FontsText editors
Publications IntroductionsLearning resourcesSimple examplesAdvanced examplesMnemonicsISO 8485:1989ISO/IEC 13751:2001A Dictionary of APLCase studiesDocumentation suitesBooksPapersVideosAPL Quote QuadVector journalTerminology (Chinese, German) ∙ Neural networksError trapping with Dyalog APL (in forms)
Sharing code Backwards compatibilityAPLcartAPLTreeAPL-CationDfns workspaceTatinCider
Implementation ResourcesOpen-sourceMagic functionPerformanceAPL hardware
Developers Timeline of corporationsAPL2000DyalogIBMIPSASTSC
APL glyphs [edit]
Information GlyphTyping glyphs (on Linux) ∙ UnicodeFontsMnemonicsOverstrikesMigration level
Individual glyphs Jot () ∙ Right Shoe () ∙ Up Arrow () ∙ Zilde () ∙ High minus (¯) ∙ Dot (.) ∙ Del ()