Difference between revisions 2133009 and 2133105 on enwiki





== History ==
'''ARS++''' has been developed in 2002 for the book ''Undiluted Programming'' (a description of the book is available on page [http://www.lambda-bound.de/book/engl/index.html]) to demonstrate '''ARS based programming''' in a real world context. <br>                               ARS++ is used in the book to implement an ''A++ interpreter'' and  an ''XML Database System''. Even the ''implementation of ARS++ in C'' was used to demonstrate ARS based programmin                                                                                                           <br> Principally the programming language Scheme would have been perfect to achieve that goally alright to be used for these demonstration programs if Scheme would include primitives supporting  network programming, database programming plus a few others required in this real world context. <br>
The definition of the programming language Scheme does not include those primitives however, leaving this issue up to the implementors of the language. The consequence is that there exist many Scheme implementations, almost none of them covering all areas essential for real application programs.<br>
This is the historical background that gave birth to the development of ARS++.

A few weeks ago the author of the mentionreferenced book  discovered a Scheme implementation that would have been pverfectlyy well suited to serve as a  language for developing  the case studies for 'Undiluted Programming'.  This Scheme implementation is called ''Gauche'' and is available for download onin the internet on the following page [http://www.shiro.dreamhost.com/scheme/gauche/].

ARS++ is used in the mentioned book to implement an ''A++ interpreter'' and  an ''XML Database''. Even ''implementation of ARS++ in C'' was used to demonstrate ARS based programming. 

                                                                                                           

== ARS++ explained by its name ==
The name '''ARS++''', being an acronym for '''ARS + Scheme + Extensions''', indicates that ARS++ has a lot to do with [[Scheme_programming_language |Scheme ]] but that it is ''not equivalent to Scheme''.

(contracted; show full)

From a ''practical point of view'' a Scheme implementation that
includes support for regular expressions, databases, sockets and
also provides an interface to the operating system can be
called an ARS++ language (ignoring the difference in the
nucleus which practically is only noticed by the programmer
when using the special form ''define'').




== See also ==
* [[Ars_based_programming |ARS based programming]]
* [[A_plusplus |A++]]
* [[Educational_programming_language |Educational programming language]]