4,493
edits
(→Versions: Links to 11.0–13.2) |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
| index origin = 0 or 1 | | index origin = 0 or 1 | ||
| function styles = [[tradfn]], [[dfn]], [[tacit]] | | function styles = [[tradfn]], [[dfn]], [[tacit]] | ||
| numeric types = complex floats, decimal float | | numeric types = [[complex]] floats, [[decimal float]]s | ||
| unicode support = full | | unicode support = full | ||
| released = 1983 | | released = 1983 | ||
Line 20: | Line 20: | ||
| run online = [https://tryapl.org/ TryAPL] | | run online = [https://tryapl.org/ TryAPL] | ||
}} | }} | ||
:''For the chat bot, see [[APL Orchard#Chat bot]].'' | |||
'''Dyalog APL''', or simply '''Dyalog''', is a modern APL in the [[APL2]] tradition, first released by British company [[Dyalog Ltd.|Dyadic Systems Ltd.]] (now Dyalog Ltd.) in 1983 for the Zylog Z80 processor (the name ''Dyalog'' is a portmanteau of ''Dyadic'' and ''Zylog''). Dyalog supports several platforms and interfaces with many languages and runtimes including native [[wikipedia:Shared library|shared libraries]], [[.NET]], the [[wikipedia:Java virtual machine|JVM]], [[wikipedia:R (programming language)|R]], and [[wikipedia:Python (programming language)|Python]]. It is actively developed and has introduced many new primitives and concepts to array programming. Major categories of features introduced to APL by Dyalog are [[tacit]] programming by allowing named [[derived function]]s and later [[train]]s, lexically-scoped functional programming using [[dfn]]s, [[namespace]]s and [[object-oriented programming]], and the addition of [[leading axis theory]] and the [[Rank operator]] to the [[nested array model|nested array]] paradigm. | '''Dyalog APL''', or simply '''Dyalog''', is a modern APL in the [[APL2]] tradition, first released by British company [[Dyalog Ltd.|Dyadic Systems Ltd.]] (now Dyalog Ltd.) in 1983 for the Zylog Z80 processor (the name ''Dyalog'' is a portmanteau of ''Dyadic'' and ''Zylog''). Dyalog supports several platforms and interfaces with many languages and runtimes including native [[wikipedia:Shared library|shared libraries]], [[.NET]], the [[wikipedia:Java virtual machine|JVM]], [[wikipedia:R (programming language)|R]], and [[wikipedia:Python (programming language)|Python]]. It is actively developed and has introduced many new primitives and concepts to array programming. Major categories of features introduced to APL by Dyalog are [[tacit]] programming by allowing named [[derived function]]s and later [[train]]s, lexically-scoped functional programming using [[dfn]]s, [[namespace]]s and [[object-oriented programming]], and the addition of [[leading axis theory]] and the [[Rank operator]] to the [[nested array model|nested array]] paradigm. | ||
In 1995, two Dyalog developers—[[John Scholes]] and [[Peter Donnelly]]—were awarded the [[Iverson Award]] for their work on the interpreter. [[Gitte Christensen]] and [[Morten Kromberg]] were joint recipients of the Iverson Award in 2016. | In 1995, two Dyalog developers—[[John Scholes]] and [[Peter Donnelly]]—were awarded the [[Iverson Award]] for their work on the interpreter. [[Gitte Christensen]] and [[Morten Kromberg]] were joint recipients of the Iverson Award in 2016. | ||
== Platforms == | |||
Besides for working out-of-the-box on Windows, macOS, and AIX, Dyalog APL runs on many Linuxes. However, to function, some require additional action beyond simple installation. As of 2019-05-15, the necessary actions for versions 16.0, 17.0, and 17.1 are: | |||
{| class=wikitable | |||
! Distribution !! Action | |||
|- | |||
|Debian 8.2, 9.8, 9.9 || no pre-reqs | |||
|- | |||
|Fedora 29, 30 || <code>dnf install ncurses-compat-libs</code> | |||
|- | |||
|Linux Mint 18.0, 19.0|| no pre-reqs | |||
|- | |||
|openSUSE 15.0 || <code>zypper install libncurses5</code> | |||
|- | |||
|CentOS/RedHat 6 || not supported for 17.1 as glibc is at too low a level | |||
|- | |||
|CentOS/RedHat 7 || no pre-reqs | |||
|- | |||
|RedHat 8 || <code>rpm -Uvh ncurses-compat-libs</code> (note: RH8 would not install in a VM) | |||
|- | |||
|Ubuntu 16.04, 18.04 || no pre-reqs | |||
|- | |||
|Ubuntu 19.04 || <code>apt-get install libtinfo5</code> | |||
|} | |||
== Versions == | == Versions == |