|
BEARBEITEN
APL-Symbole im Unicode
⌈ ⌊ ⌶ ⌷ ⌹ ⌻ ⌽ ⌿ ⍀ ⍁ ⍂ ⍇ ⍈ ⍉ ⍋ ⍎ ⍐ ⍒ ⍕ ⍗ ⍙ ⍝ ⍞ ⍟ ⍡ ⍢ ⍣ ⍤ ⍥ ⍪ ⍫ ⍬ ⍱ ⍲ ⍳ ⍴ ⍵ ⍷ ⍸ ⍺ ⎕ Das sind 41 APL-Symbole aus dem Unicode-Block Miscellaneous Technical. Ihr Bereich geht von U+2308 bis U+2395 Auch in anderen Blöcken kommen APL-Symbole vor: U+0021 bis U+00F7 (Latin-1, Basic und Extended-Zeichen), 17 Symbole: ! * + - / < = > ? \\ ^ | ~ ¨ ¯ × ÷ U+2190 bis U+2193 (Arrows), 4 Symbole: ← ↑ → ↓ U+2206 bis U+22C4 (Mathematical Operators), 21 Symbole: ∆ ∇ ∊ ∨ ∩ ∪ ∵ ∼ ≠ ≡ ≢ ≤ ≥ ⊂ ⊃ ⊖ ⊢ ⊣ ⊤ ⊥ ⋄ U+25AF bis U+25C8 (Geometrical Shapes), 3 Symbole: ▯ ◊ ○ Außerdem gibt es im Unicode-Block Miscellaneous Technical noch 31 APL-Symbole, die nie benutzt werden: von U+2338 bis U+2379, ⌸ ⌺ ⌼ ⌾ ⍁ ⍃ ⍄ ⍅ ⍆ ⍊ ⍌ ⍍ ⍏ ⍑ ⍓ ⍔ ⍖ ⍘ ⍚ ⍛ ⍜ ⍠ ⍦ ⍧ ⍩ ⍭⍮⍯ ⍰ ⍶ ⍹ Nochmals alle APL-Zeichen zusammen: \' ( ) + , - . / : ; < = > ? [] \\ _ ¨ ¯ × ÷ ← ↑ → ↓ ∆ ∇ ∘ ∣ ∧ ∨ ∩ ∪ ∼ ≠ ≤ ≥ ≬ ⊂ ⊃ ⌈ ⌊ ⊤ ⊥ ⋆ ⌶ ⌷ ⌸ ⌹ ⌺ ⌻ ⌼ ⌽ ⌾ ⌿ ⍀ ⍁ ⍂ ⍃ ⍄ ⍅ ⍆ ⍇ ⍈ ⍉ ⍊ ⍋ ⍌ ⍍ ⍎ ⍏ ⍐ ⍑ ⍒ ⍓ ⍔ ⍕ ⍖ ⍗ ⍘ ⍙ ⍚ ⍛ ⍜ ⍝ ⍞ ⍟ ⍠ ⍡ ⍢ ⍣ ⍤ ⍥ ⍦ ⍧ ⍨ ⍩ ⍪ ⍫ ⍬ ⍭ ⍮ ⍯ ⍰ ⍱ ⍲ ⍳ ⍴ ⍵ ⍶ ⍷ ⍸ ⍹ ⍺ ⎕ ○ Neben den etwa 85 APL.-Symbolen (je nach APL-Version) können auch alle ASCII-Zeichen benutzt werden. Wozu dienen die vielen Symbole in der APL-Programmiersprache? Die APL-Symbole sind so eine Art „Steno“ für eingebaute Funktionen im APL. Viele dieser Zeichen sind einfache Funktionen und Operatoren, ähnlich wie in anderen Programmiersprachen, z.B. in C++ oder Java: addieren +, subtrahieren -, multiplizieren × oder fakultät berechnen !. Andere Symbole (= APL-Funktionen ) sind da schon mächtiger, etwa sortieren ⍋, intervall bilden ⍳ oder summieren als +/. Im APL unterscheidet man ein-und zweistellige Funktionen, d. h. wichtig ist, ob Parameter nur auf der rechten Seite des APL-Symbols stehen oder auf beiden. In diesen Fällen spricht man auch von monadischen und dyadischen APL-Funktionen. Ein Beispiel: jota ⍳ heißt als einstellige Funktion intervall; damit ergibt ⍳ 9 das Intervall 1 2 3 4 5 6 7 8 9. Dagegen ergibt die zweistellige Funktion index suchen 4 2 9 7 ⍳ 9 eine 3, d.h. die Neun steht an 3. Stelle auf der linken Seite des Ausdrucks. Eine Stärke oder Schwäche (?!) des APL ist, dass es eine Interpreter-Sprache ist: Man kann Berechnungen fast wie bei einem Taschenrechner eingeben. Das verringert - richtig angewendet – ganz enorm die Entwicklungszeiten für Programme. Eine weitere große Stärke des APL ist die Möglichkeit, direkt mit Matrizen zu rechnen etwa: Matrizen zu multiplizieren oder die Inverse einer (quadratischen) Matrix zu bilden. Einige Rechenbeispiele für APL -Funktionen (nach Lamp ⍝ steht ein Kommentar): A: ⍳ 15 ⍝ Indexvektor bilden von 1 bis 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 5 ⍴ ⍳ 15 ⍝ Vektor anordnen, 3 Zeilen, 5 Spalten 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +/3 5 ⍴ ⍳ 15 ⍝ die 3 Zeilen summieren 15 40 65 +⌿3 5 ⍴ ⍳ 15 ⍝ die 5 Spalten summieren 18 21 24 27 30 B: MAT ← 2 2⍴1 0 0 2 MAT 1 0 0 2 INV ← ⌹ 2 2⍴1 0 0 2 INV 1 0 0 0.5 MAT +.× INV ⍝ Matrix multipliziert mit ⍝ Inverser ergibt Einheitsmatrix 1 0 0 1 Gute Einführungen ins APL finden sich unter den zwei Links für Wikipedia (de. und en.). http://de.wikipedia.org/wiki/APL_(Programmiersprache) http://en.wikipedia.org/wiki/APL_(programming_language) und ein PDF http://informatik.unibas.ch/lehre/ss06/cs506/_Downloads/apl/apl_slides.pdf Auf der englischen Wikipedia-Seite wird auch anschaulich dargestellt, wie man nun die vielen Spezial-Zeichen in das APL Programm befördert: Natürlich über die Tastatur. Sie wird - ähnlich wie bei kyrillischen oder arabischen Keyboards - mit den APL-Zeichen belegt. Die Abbildung (bzw. der Link) zeigt eine mögliche Version eines Keyboard (wie bei der freien APL-Variante NARS2000 oder dem SAX-APL). http://www.wickensonline.co.uk/apl/union.png http://www.wickensonline.co.uk/apl-unicomp.html Lit.: Provisional Unicode Reference, Adrian Smith, Vector Vol.19, No. 3, January 2003 (liegt im Internet als PDF vor, bezieht sich nur auf APL-Symbole, http://www.vector.org.uk/resource/uniref.pdf erikrot |
|