APL2: Difference between revisions
mNo edit summary |
(Rework introduction) |
||
Line 16: | Line 16: | ||
| file ext = .apl | | file ext = .apl | ||
| documentation = [https://www.ibm.com/common/ssi/SearchResult.wss?MPPEFSCH=APL2 IBM Offering Information] | | documentation = [https://www.ibm.com/common/ssi/SearchResult.wss?MPPEFSCH=APL2 IBM Offering Information] | ||
| influenced by = [[ | | influenced by = [[APL.SV]] | ||
| influenced = [[NARS2000]], [[Dyalog APL]], [[GNU APL]], [[APLX]], [[ISO/IEC 13751:2001]] | | influenced = [[NARS2000]], [[Dyalog APL]], [[GNU APL]], [[APLX]], [[ISO/IEC 13751:2001]] | ||
}} | }} | ||
'''APL2''' | '''APL2''' is the family of APL implementations using the [[nested array model]], first released by [[IBM]] in 1984. The name stands in contrast to "APL1", which is taken to include all prior IBM APLs such as [[APL\360]], [[APL.SV]], and [[VS APL]]. Development was led by [[Jim Brown]], who began work in 1971 based on his just-published Ph.D. thesis.<ref>[[Jim Brown]]. [https://old.aplwiki.com/JimBrown APL Wiki user page]</ref> In addition to nested arrays and primitives to support them such as [[Depth]] and [[Enlist]], APL2 includes new primitives such as [[Find]] and [[Index]], and [[stranded assignment|stranded]] and [[selective assignment]]. APL2 was available for mainframe computers running z/OS or z/VM and workstations running AIX, Linux, Sun Solaris, and Microsoft Windows. | ||
APL2's extensions to [[ISO 8485:1989]] | APL2's extensions to [[ISO 8485:1989]] formed the basis of [[ISO/IEC 13751:2001]]. APL2 supports entry of [[complex number]]s in the following forms: | ||
# Real and imaginary part separated by the letter <syntaxhighlight lang=apl inline>J</syntaxhighlight> and no spaces, e.g. <syntaxhighlight lang=apl inline>0J1</syntaxhighlight> | # Real and imaginary part separated by the letter <syntaxhighlight lang=apl inline>J</syntaxhighlight> and no spaces, e.g. <syntaxhighlight lang=apl inline>0J1</syntaxhighlight> | ||
# Magnitude and angle in degrees separated by the letter <syntaxhighlight lang=apl inline>D</syntaxhighlight> and no spaces, e.g. <syntaxhighlight lang=apl inline>1D90</syntaxhighlight> | # Magnitude and angle in degrees separated by the letter <syntaxhighlight lang=apl inline>D</syntaxhighlight> and no spaces, e.g. <syntaxhighlight lang=apl inline>1D90</syntaxhighlight> |
Revision as of 01:28, 19 March 2024
APL2 is the family of APL implementations using the nested array model, first released by IBM in 1984. The name stands in contrast to "APL1", which is taken to include all prior IBM APLs such as APL\360, APL.SV, and VS APL. Development was led by Jim Brown, who began work in 1971 based on his just-published Ph.D. thesis.[1] In addition to nested arrays and primitives to support them such as Depth and Enlist, APL2 includes new primitives such as Find and Index, and stranded and selective assignment. APL2 was available for mainframe computers running z/OS or z/VM and workstations running AIX, Linux, Sun Solaris, and Microsoft Windows.
APL2's extensions to ISO 8485:1989 formed the basis of ISO/IEC 13751:2001. APL2 supports entry of complex numbers in the following forms:
- Real and imaginary part separated by the letter
J
and no spaces, e.g.0J1
- Magnitude and angle in degrees separated by the letter
D
and no spaces, e.g.1D90
- Magnitude and angle in radians separated by the letter
R
and no spaces, e.g.1R1.5708
No further core language features have been added, with improvements instead consisting of powerful Quad names.
The entire APL2 Products and Services Team was awarded the Iverson Award in 2007.
On January 26, 2021, IBM announced that IBM APL2 would be removed from the market on April 7, 2021, while support would continue until September 15, 2021, without the possibility of extension. Customers were advised to use Log-On APL2, which comes with a support option, as a replacement product.[2] Log-On APL2 will be distributed by the American-Israeli IBM business partner Log-On Software. It is advertised as fully compatible with APL2, and is scheduled for release on April 7, 2021.[3]
As of November 2021, Log-On has been able to build APL2 from IBM's sources, and is undergoing extensive testing. The next planned step is getting community and user feedback for desired features, and publication of re-branded documentation.[4] On April 19, 2022, Log-On announced the general availability of APL2 version 3.03 for workstations, which introduced support for HTTPS websites and Windows 11.[5]
References
- ↑ Jim Brown. APL Wiki user page
- ↑ IBM. Software withdrawal and support discontinuance: IBM APL2, IBM APL2 Application Environment, and IBM Workstation APL2 for Multiplatforms. IBM Europe Withdrawal Announcement ZP21-0096. January 26, 2021.
- ↑ Mark Schora. Log-On Software Announces Log-On APL2. Log-On Press Releases. Jan 26, 2021.
- ↑ Werner Zülli. Log-On APL2: Plans and Questions. GSE Herbsttagung 2021. APL Germany.
- ↑ Mark Neeman (Log-On Software Director Products Sales). Log-On APL2 GA v. 3.03. Email to the APL2 community. Apr 19, 2022.
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 |