A++ stands for abstraction plus reference plus synthesis which is used as a name for the minimalistic programming language that is built on ARS.

ARS is an abstraction from the "Lambda Calculus", taking its three basicoperations, and giving them a "more general meaning", thus providing a foundation for the three major programming paradigms: functional programming, object-oriented programming and imperative programming.

ARS Based Programming is used as a name for programming which consists mainly of applying patterns derived from ARS to programming in any language.


A++ has been developed in 2002 with the purpose to serve as a "learning instrument" rather than as a programming language used to solve practical problems.

It is supposed to be an efficient tool to become familiar with the core of programming and with programming patterns that can be applied in other languages needed to face the real world.


A++, with its interpreter available in Scheme, Java, C, C++ and Python, offers an ideal environment for basic training in programming, enforcing rigorous confrontation with the essentials of programming languages.

Constitutive principles

* ARS (basic operations)
** "Abstraction"
** "+ Reference"
** "+ Synthesis"
* Lexical Scope
* Closure

Programming paradigms supported

* Functional programming, "(directly supported)"
** (writing expressions to be evaluated),
* Object-oriented programming "(directly supported)"
**(sending messages to objects),
* Imperative programming "(directly supported)"
**(writing statements to be executed), including structured programming.
* Logic programming "(indirectly supported)"
**(rule based programming)

Core features

* Logical abstractions
**(true, false, if, not, and, or),
* Numerical abstractions
**(natural numbers, zerop, succ, pred, add, sub, mult),
* Relational abstractions,
**(equalp, gtp, ltp, gep)
* Recursion,
* Creation and processing of lists
**(cons, car, cdr, nil, nullp, llength, remove, nth, assoc),
* Higher order functions
**(compose, curry, map, mapc, map2, filter, locate, for-each),
* Set operations
**(memberp, union, addelt),
* Iterative control structure

Development of applications with A++

The purpose of A++ is not to be used as a programming language to write applications for the needs of the real world. Nevertheless it is possible to write simple application programs in A++ like object oriented implementations of a simple account handling and a library management system.

To write real world application programs the language ARS++ is provided, which extends A++ to a language similar to Scheme. ARS++ is derived from "ARS plus Scheme plus Extensions".

See also

* ARS based programming
* Educational programming language
* ARS++

External links

* [http://www.aplusplus.net/bookonl/index.html A++ book online]
* Georg P. Loczewski, [http://www.lambda-bound.de/book/lambdacalc/lcalconl.html "The Lambda Calculus and A++"]

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • A — ([.a] emph. [=a]). 1. [Shortened form of an. AS. [=a]n one. See {One}.] An adjective, commonly called the indefinite article, and signifying one or any, but less emphatically. At a birth ; In a word ; At a blow . Shak. Note: It is placed before… …   The Collaborative International Dictionary of English

  • Ä — or ä , is a character which represents either a letter from several extended Latin alphabets, or the letter A with umlaut or diaeresis. As an independent letter The letter Ä occurs in the Swedish, Finnish, Estonian, and Slovak alphabets, where i …   Wikipedia

  • Â — (a circumflex) is a letter of the Romanian and Vietnamese alphabets. This letter also appears in Croatian, French, Portuguese, Serbian, Frisian, Welsh Language, Friulian, Turkish and Walon language as a variant of the letter “a”.Usage in various… …   Wikipedia

  • A — (named [=a] in the English, and most commonly [ a] in other languages). The first letter of the English and of many other alphabets. The capital A of the alphabets of Middle and Western Europe, as also the small letter (a), besides the forms in… …   The Collaborative International Dictionary of English

  • A — ([.a]), prep. [Abbreviated form of an (AS. on). See {On}.] 1. In; on; at; by. [Obs.] A God s name. Torn a pieces. Stand a tiptoe. A Sundays Shak. Wit that men have now a days. Chaucer. Set them a work. Robynson (More s Utopia). [1913 Webster] 2.… …   The Collaborative International Dictionary of English

  • Á — (a acute) is a letter of the Czech, Faroese, Hungarian, Icelandic, and Slovak languages. This letter also appears in Irish, Occitan, Portuguese, Spanish, and Vietnamese as a variant of the letter “a”.Usage in various languagesChineseIn Chinese… …   Wikipedia

  • Ã — Ã/ã (a tilde) is a letter used in some languages, generally considered a variant of the letter A.In Portuguese, Ã/ã represents a nasal central unrounded vowel, normally transcribed in IPA as IPA|/ɐ̃/ (its exact height varies from open to mid… …   Wikipedia

  • A- — A, as a prefix to English words, is derived from various sources. (1) It frequently signifies on or in (from an, a forms of AS. on), denoting a state, as in afoot, on foot, abed, amiss, asleep, aground, aloft, away (AS. onweg), and analogically,… …   The Collaborative International Dictionary of English

  • A — [From AS. of off, from. See {Of}.] Of. [Obs.] The name of John a Gaunt. What time a day is it ? Shak. It s six a clock. B. Jonson. [1913 Webster] …   The Collaborative International Dictionary of English

  • A — A barbarous corruption of have, of he, and sometimes of it and of they. So would I a done A brushes his hat. Shak. [1913 Webster] …   The Collaborative International Dictionary of English

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”