Difference between revisions 2132574 and 2132746 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''. The ''implementation of ARS++ in C'' was used to demonstrate ARS based programming in C. ⏎ ⏎ ⏎ ⏎ == 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''. ⏎ ⏎ ⏎ ⏎ ** The '''first part''' of the name refers to the core of the language, which is nothing else but [[A_plusplus |A++]], i.e. ''Abstraction + Reference + Synthesis''. <br> The structure of A++ however is different from the structure of Scheme, which can be verified by comparing the ''definition of Scheme in R5RS'' with the ''definition of A++'' on page [http://www.lambda-bound.de/book/lambdacalc/node41.html] and the following. ** The '''second part''' in the name of ARS++ stands for the ''primitiv ⏎ ⏎ e functions'' that are ''imported from Scheme'', giving ARS++ almost th ⏎ ⏎ e same functionality of Scheme. <br> Primitive functions are those, tha ⏎ ⏎ t are not and ''cannot be defined as lambda abstractions'' because they ⏎ ⏎ are representing a functionality that can only be provided by the unde ⏎ ⏎ rlying ''operating system'' or the ''hardware''. ** The '''third part''' of the name refers to ''primitive functions'' that are ''not defined in R5RS'' (the official definition of the programming language Scheme) but are nevertheless important for real world programming like functions allowing to work with ''regular expressions'', with ''TCP/IP networks'', with ''embedded databases'' (e.g. Berkeley DB, GNU database manager) and a few that provide an ''interface with the operating system''. 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''). All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://en.wikipedia.org/w/index.php?diff=prev&oldid=2132746.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|