APL (programming language)

APL
ParadigmArray, functional, structured, modular
Designed byKenneth E. Iverson
DeveloperLarry Breed, Dick Lathwell, Roger Moore, others
First appearedNovember 27, 1966; 57 years ago (1966-11-27)[1]
Stable release
ISO/IEC 13751:2001 / February 1, 2001; 23 years ago (2001-02-01)
Typing disciplineDynamic
PlatformCross-platform
LicenseProprietary, open source
Websiteaplwiki.com
Major implementations
  • APL\360
  • APL\1130
  • APL*Plus
  • Sharp APL
  • APL2
  • Dyalog APL
  • NARS2000
  • APLX
  • GNU APL
Influenced by
Mathematical notation
Influenced

APL (named after the book A Programming Language)[3] is a programming language developed in the 1960s by Kenneth E. Iverson. Its central datatype is the multidimensional array. It uses a large range of special graphic symbols[4] to represent most functions and operators, leading to very concise code. It has been an important influence on the development of concept modeling, spreadsheets, functional programming,[5] and computer math packages.[6] It has also inspired several other programming languages.[7][8]

  1. ^ Cite error: The named reference Birthdate was invoked but never defined (see the help page).
  2. ^ "std::iota". cppreference.com.
  3. ^ Kenneth E. Iverson (1 December 1962). A Programming Language. Wiley. ISBN 978-0-471-43014-8. OL 26792153M. Wikidata Q105954505. Retrieved 2023-08-06.
  4. ^ McIntyre, Donald B. (1991). "Language as an Intellectual Tool: From Hieroglyphics to APL". IBM Systems Journal. 30 (4): 554–581. doi:10.1147/sj.304.0554. Archived from the original on March 4, 2016. Retrieved January 9, 2015.
  5. ^ "ACM Award Citation – John Backus". Awards.acm.org. 1977. Archived from the original on February 12, 2008. Retrieved February 3, 2010.
  6. ^ Cite error: The named reference mworks was invoked but never defined (see the help page).
  7. ^ Cite error: The named reference jinsp was invoked but never defined (see the help page).
  8. ^ Cite error: The named reference kinsp was invoked but never defined (see the help page).