A Dictionary of APL: Difference between revisions
(Created page with "{{Infobox array language | array model = flat with boxes | index origin = 0 primarily; allowing 1 in dialects | function styles = definition operator, direct definition | numeric types = real and complex | released = 1987 | developer = Ken Iverson | influenced by = Rationalized APL, SHARP APL | influenced = J | implementation language= not...") |
(Influenced SHARP) |
||
(One intermediate revision by the same user not shown) | |||
Line 7: | Line 7: | ||
| developer = [[Ken Iverson]] | | developer = [[Ken Iverson]] | ||
| influenced by = [[Rationalized APL]], [[SHARP APL]] | | influenced by = [[Rationalized APL]], [[SHARP APL]] | ||
| influenced = [[J]] | | influenced = [[SHARP APL]], [[J]] | ||
| implementation language= not implemented | | implementation language= not implemented | ||
}} | }} | ||
'''A Dictionary of APL''' is a 1987 paper by [[Ken Iverson]] that defines possible APL syntax and features. While allowances are made for "dialects" in comments, the paper primarily describes a simplified language similar to [[SHARP APL]] sometimes known as '''Dictionary APL'''. It introduces new primitives such as [[Nub Sieve]], [[Nub In]], Raze In, and functions for working with permutations, and aligns some functionality more closely with [[leading axis theory]] (however, the [[leading axis agreement]] that would later appear in J is not used). Much of this functionality was included in the | '''A Dictionary of APL''' is a 1987 paper by [[Ken Iverson]] that defines possible APL syntax and features. While allowances are made for "dialects" in comments, the paper primarily describes a simplified language similar to [[SHARP APL]] sometimes known as '''Dictionary APL'''. It introduces new primitives such as [[Nub Sieve]], [[Nub In]], [[Raze]], Raze In, and functions for working with permutations, and aligns some functionality more closely with [[leading axis theory]] (however, the [[leading axis agreement]] that would later appear in J is not used). Much of this functionality was eventually implemented in SHARP APL or included in [[J]] (either in its initial implementation as described by the paper "APL\?"<ref>[[Roger Hui]], [[Ken Iverson]], [[Eugene McDonnell]], [[Arthur Whitney]]. [https://www.jsoftware.com/papers/J1990.htm "APL\?"]. 1990.</ref> or later versions), but it has generally not been introduced to other APL implementations, with the exception of Nub Sieve. | ||
Another feature of the dictionary is its heavy use of terminology taken from English grammar, such as "noun" and "verb" rather than "array" and "function". This terminology was largely retained in J, where the initial definition and documentation was likewise named the "J Dictionary". [[K]] also uses the terms "noun", "verb", and "adverb" for grammar, but as its grammar is not determined by value types, these names exist alongside the term "function". | Another feature of the dictionary is its heavy use of terminology taken from English grammar, such as "noun" and "verb" rather than "array" and "function". This terminology was largely retained in J, where the initial definition and documentation was likewise named the "J Dictionary". [[K]] also uses the terms "noun", "verb", and "adverb" for grammar, but as its grammar is not determined by value types, these names exist alongside the term "function". | ||
== External links == | == External links == | ||
* [[ | * [https://dl.acm.org/doi/10.1145/36983.36984 A Dictionary of APL]. [[APL Quote Quad]], Volume 18, Number 1, 1987-09. | ||
* [https://www.jsoftware.com/papers/APLDictionary.htm HTML version] from [[Jsoftware]] | |||
== References == | == References == | ||
<references/> | <references/> | ||
{{APL dialects}}[[Category:APL dialects]][[Category:Iverson designs]] | {{APL dialects}}[[Category:APL dialects]][[Category:Iverson designs]] |
Latest revision as of 20:52, 31 January 2024
A Dictionary of APL is a 1987 paper by Ken Iverson that defines possible APL syntax and features. While allowances are made for "dialects" in comments, the paper primarily describes a simplified language similar to SHARP APL sometimes known as Dictionary APL. It introduces new primitives such as Nub Sieve, Nub In, Raze, Raze In, and functions for working with permutations, and aligns some functionality more closely with leading axis theory (however, the leading axis agreement that would later appear in J is not used). Much of this functionality was eventually implemented in SHARP APL or included in J (either in its initial implementation as described by the paper "APL\?"[1] or later versions), but it has generally not been introduced to other APL implementations, with the exception of Nub Sieve.
Another feature of the dictionary is its heavy use of terminology taken from English grammar, such as "noun" and "verb" rather than "array" and "function". This terminology was largely retained in J, where the initial definition and documentation was likewise named the "J Dictionary". K also uses the terms "noun", "verb", and "adverb" for grammar, but as its grammar is not determined by value types, these names exist alongside the term "function".
External links
- A Dictionary of APL. APL Quote Quad, Volume 18, Number 1, 1987-09.
- HTML version from Jsoftware
References
- ↑ Roger Hui, Ken Iverson, Eugene McDonnell, Arthur Whitney. "APL\?". 1990.
APL dialects [edit] | |
---|---|
Maintained | APL+Win ∙ APL2 ∙ APL64 ∙ APL\iv ∙ Aplette ∙ April ∙ Co-dfns ∙ Dyalog APL ∙ Dyalog APL Vision ∙ dzaima/APL ∙ GNU APL ∙ Kap ∙ NARS2000 ∙ Pometo ∙ TinyAPL |
Historical | A Programming Language ∙ A+ (A) ∙ APL# ∙ APL2C ∙ APL\360 ∙ APL/700 ∙ APL\1130 ∙ APL\3000 ∙ APL.68000 ∙ APL*PLUS ∙ APL.jl ∙ APL.SV ∙ APLX ∙ Extended Dyalog APL ∙ Iverson notation ∙ IVSYS/7090 ∙ NARS ∙ ngn/apl ∙ openAPL ∙ Operators and Functions ∙ PAT ∙ Rowan ∙ SAX ∙ SHARP APL ∙ Rationalized APL ∙ VisualAPL (APLNext) ∙ VS APL ∙ York APL |
Derivatives | AHPL ∙ BQN ∙ CoSy ∙ ELI ∙ Glee ∙ I ∙ Ivy ∙ J ∙ Jelly ∙ K (Goal, Klong, Q) ∙ KamilaLisp ∙ Lang5 ∙ Lil ∙ Nial ∙ RAD ∙ Uiua |
Overviews | Comparison of APL dialects ∙ Timeline of array languages ∙ Timeline of influential array languages ∙ Family tree of array languages |