A+ (programming language)

{{Short description|Programming language}}

{{Notability|1=Web|date=April 2024}}

{{Primary sources|date=February 2023}}

{{Infobox programming language

|name = A+

|logo = Aplus logo.jpg

|paradigm = Array

|designer = Arthur Whitney

|developer = Morgan Stanley

|released = A – {{Start date and age|1985}}
A+ – {{Start date and age|1988}}

|latest release version = 4.22-1

|latest release date = {{Start date and age|2008|03|27}}

|typing = Dynamic, strong

|file_ext = {{mono|..}}, {{mono|.+}}, {{mono|.a}}, {{mono|.m}}{{cite web|url=http://www.aplusdev.org/APlusRefV2_63.html#HEADING991|title=A+ Reference: Appendix: Quick Reference|access-date=2020-02-06|archive-date=2020-02-24|archive-url=https://web.archive.org/web/20200224202643/http://www.aplusdev.org/APlusRefV2_63.html#HEADING991|url-status=dead}}

|implementations = A+

|dialects =

|influenced by = APL

|influenced = K

|license=GNU General Public License

}}

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{{Cite web |url=https://aplwiki.com/wiki/A |title=A – APL Wiki}} to replace APL.{{Cite web |url=http://www.aplusdev.org/About/ |archive-url=https://web.archive.org/web/20020619011949/http://aplusdev.org/About/ |url-status=dead |archive-date=June 19, 2002 |title=A+: History of A+ |website=www.aplusdev.org |access-date=2019-01-18}} 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

{{Reflist}}