ARS-based programming
# ARS-based programming

ARS-based programming is built on three principles: abstraction, reference and synthesis. These principles can be seen as a generalized form of the basic operations of the Lambda calculus. All essential features of a programming language can be derived from ARS, even the three major programming paradigms: functional programming, object-oriented programming and imperative programming.

The programming language A++ is a demonstration that, based on ARS, programming patterns can be developed that are very powerful, providing a solid base for solving common programming problems.

ARS-based programming as covered in the book Programmierung pur (Undiluted Programming or Barebones Programming) published in German under the ISBN 3-87820-108-7 (the English rights are available now) is facilitated by three tools: A++, ARS++, and ARSAPI.

* A++, a minimal programming language with interpreter for basic training enforcing rigorous confrontation with the essentials of programming;
* ARS++, a full blown programming language including a virtual machine and compiler, extending A++ into a language that is fully ars-compatible with a functionality going beyond that of Scheme with the power of coping with the challenges of real world programming;
* ARSAPI, a bridge between ARS and popular programming languages like Java, C and C++, consisting of definitions and patterns recommended to express ARS in the target language.
