Dyalog APL: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
Miraheze>Adám Brudzewsky
No edit summary
Miraheze>Marshall
No edit summary
Line 1: Line 1:
{{Infobox array language
{{Infobox array language
| array_model             = [[nested array model|nested]]
| array model             = [[nested array model|nested]]
| 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
| unicode_support         = full
| unicode support         = full
| released                = 1983
| released                = 1983
| developer                = [[Dyalog Ltd.]]
| developer                = [[Dyalog Ltd.]]
| latest_release_version   = 17.1 / 2019
| latest release version   = 17.1 / 2019
| implementation languages = [https://en.wikipedia.org/wiki/C_(programming_language) C], [https://en.wikipedia.org/wiki/C%2B%2B C++], APL
| implementation languages = [https://en.wikipedia.org/wiki/C_(programming_language) C], [https://en.wikipedia.org/wiki/C%2B%2B C++], APL
| platforms                = x86, x86_64, IBM POWER, ARM32
| platforms                = x86, x86_64, IBM POWER, ARM32
Line 14: Line 14:
| website                  = [https://www.dyalog.com/dyalog/index.htm dyalog.com/dyalog/index.htm]
| website                  = [https://www.dyalog.com/dyalog/index.htm dyalog.com/dyalog/index.htm]
| download                = [https://www.dyalog.com/download-zone.htm Non-commercial download]
| download                = [https://www.dyalog.com/download-zone.htm Non-commercial download]
| file_ext                 = .dws, .dse, .dcf, .dyalog, .dyapp, .apl, .apla, .aplf, .aplo, .apln, .aplc, .apli
| file ext                 = .dws, .dse, .dcf, .dyalog, .dyapp, .apl, .apla, .aplf, .aplo, .apln, .aplc, .apli
| documentation            = [https://docs.dyalog.com/ Documentation Centre]
| documentation            = [https://docs.dyalog.com/ Documentation Centre]
| influenced_by           = [[APL2]], [[J]], [[SHARP APL]], Lisp
| influenced by           = [[APL2]], [[J]], [[SHARP APL]], Lisp
| influenced              = [[NARS2000]], [[ngn/apl]], [[dzaima/APL]], [[APL/iv]]
| influenced              = [[NARS2000]], [[ngn/apl]], [[dzaima/APL]], [[APL/iv]]
}}
}}

Revision as of 13:34, 28 October 2019

Dyalog APL was first released by British company Dyalog Ltd. in 1983 and, as of 2018, is available for AIX, Linux (including on the Raspberry Pi), macOS and Microsoft Windows platforms. It is based on APL2, with extensions to support object-oriented programming and functional programming. Licences are free for personal/non-commercial use.

In 1995, two of the development team — 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.

The most important extensions to the original APL language include:

  • 1983: Nested arrays: Any element of an array can be another array (APL2)
  • 1990: Namespaces
  • 1995: Keywords (If/Then/Else, Repeat/Until, exception handling, and so on)
  • 1996: Functional programming: dfns provide lexical scope and Dfns
  • 2006: Object orientated programming, allowing integration with OO frameworks and Microsoft .NET
  • 2014: Point-free or "Train" syntax similar to that in the J programming language
  • 2014: Futures and isolates for Parallel computing

External links

Template:APL programming language