A+ (programming language)

From Wikipedia, the free encyclopedia

For information on the A+ computer certification program, see CompTIA.
A+
Paradigm array
Appeared in 1988
Designed by Arthur Whitney
Developer Morgan Stanley
Typing discipline dynamic, strong
Major implementations A+
Influenced by APL
Influenced K

A+ is an array programming language, a dialect of APL with aggressive extensions. Arthur Whitney developed the "A" portion of A+, while other developers at Morgan Stanley extended it, adding a graphical user interface and other language features. A+ was designed for numerically intensive applications, especially those found in financial applications. A+ runs on many Unix variants, including Linux. A+ is a high-level, interactive, interpreted language.

A+ provides an extended set of functions and operators, a graphical user interface with a wide selection of widgets, automatic synchronization of widgets and variables, asynchronous execution of functions associated with variables and events, dynamic loading of user compiled subroutines, and other features. A newer graphical user interface 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 10 formal parameters
  • A single A+ code statement may be broken up into two or more physical lines
  • Typing the function's name in the session invokes the editor

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 called "kapl" is provided on the web site for that purpose.

Arthur Whitney went on to create the K programming language, a proprietary array language. Like the J programming language, K dispenses with the APL character set. It does not have some of the perceived complexities of A+, such as the existence of statements and two different modes of syntax.

A+ is licensed under the GNU General Public License.

[edit] External links