Jump to content

A+ (programming language)

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
A+
ParadigmArray
Designed byArthur Whitney
DeveloperMorgan Stanley
First appearedA – 1985; 40 years ago (1985)
A+ – 1988; 37 years ago (1988)
Stable release
4.22-1 / March 27, 2008; 17 years ago (2008-03-27)
Typing disciplineDynamic, strong
LicenseGNU General Public License
Filename extensions.., .+, .a, .m[1]
Websitewww.aplusdev.org
Major implementations
A+
Influenced by
APL
Influenced
K

A+ is a high-level, interactive, interpreted array programming language designed for numerically intensive applications, especially those found in financial applications.

History

In 1985, Arthur Whitney created the A programming language[2] to replace APL.[3] Other developers at Morgan Stanley extended it to A+, adding a graphical user interface (GUI) and other language features. The GUI A+ was released in 1988.

Arthur Whitney went on to create a proprietary array language named K. Like J, K omits the APL character set. It lacks some of the perceived complexities of A+, such as the existence of statements and two different modes of syntax.

Features

A+ provides an extended set of functions and operators, a graphical user interface with automatic synchronizing of widgets and variables, asynchronous executing of functions associated with variables and events, dynamic loading of user compiled subroutines, and other features. A+ runs on many Unix variants, including Linux. It is free and open source software released under a GNU General Public License. A newer GUI has not yet been ported to all supported platforms.

The A+ language implements the following changes to the APL language:

  • an A+ function may have up to nine formal parameters
  • A+ code statements are separated by semicolons, so a single statement may be divided into two or more physical lines
  • The explicit result of a function or operator is the result of the last statement executed
  • A+ implements an object called a dependency, which is a global variable (the dependent variable) and an associated definition that is like a function with no arguments. Values can be explicitly set and referenced in exactly the same ways as for a global variable, but they can also be set through the associated definition.

Interactive A+ development is primarily done in the Xemacs editor, through extensions to the editor. Because A+ code uses the original APL symbols, displaying A+ requires a font with those special characters; a font named kapl is provided on the web site for that purpose.

References

  1. ^ "A+ Reference: Appendix: Quick Reference". Archived from the original on 2020-02-24. Retrieved 2020-02-06.
  2. ^ "A – APL Wiki".
  3. ^ "A+: History of A+". www.aplusdev.org. Archived from the original on June 19, 2002. Retrieved 2019-01-18.