Mnemonics
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.
⍋
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.
⍟
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".
⎕
is the prefix for all system names, and also also manages input from the console as well as output to the console. For that, it is a stylised console.
/
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.
⋄
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 | Session ∙ Typing glyphs (on Linux) ∙ Fonts ∙ Text editors |
Publications | Introductions ∙ Learning resources ∙ Simple examples ∙ Advanced examples ∙ Mnemonics ∙ ISO 8485:1989 ∙ ISO/IEC 13751:2001 ∙ A Dictionary of APL ∙ Case studies ∙ Documentation suites ∙ Books ∙ Papers ∙ Videos ∙ APL Quote Quad ∙ Vector journal ∙ Terminology (Chinese, German) ∙ Neural networks ∙ Error trapping with Dyalog APL (in forms) |
Sharing code | Backwards compatibility ∙ APLcart ∙ APLTree ∙ APL-Cation ∙ Dfns workspace ∙ Tatin ∙ Cider |
Implementation | Resources ∙ Open-source ∙ Magic function ∙ Performance ∙ APL hardware |
Developers | Timeline of corporations ∙ APL2000 ∙ Dyalog ∙ IBM ∙ IPSA ∙ STSC |
APL glyphs [edit] | |
---|---|
Information | Glyph ∙ Typing glyphs (on Linux) ∙ Unicode ∙ Fonts ∙ Mnemonics ∙ Overstrikes ∙ Migration level |
Individual glyphs | Jot (∘ ) ∙ Right Shoe (⊃ ) ∙ Up Arrow (↑ ) ∙ Zilde (⍬ ) ∙ High minus (¯ ) ∙ Dot (. ) ∙ Del (∇ )
|