... definition[*]
The name ARS++ is derived form ARS + Scheme + Extensions. This means that the primitive operations of Scheme and some more have been made available to A++ in the form of predefined values and abstractions.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... me,[*]
-unfortunately a little bit late though after having been working in the field of programming for over 30 years-
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... programming[*]
This era began with Prof. Dijkstra's famous article in the Communications of the ACM with the title 'A GOTO-Statement Considered Harmful'.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... another.[*]
In A++ no real distinction is made between data and functions, because effectively there are only abstractions:
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... above[*]
A class in a language like C++ or Smalltalk has many other features not covered here. The features we have described are common however to all implementations of OOP technology
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... record.[*]
The same environment is labelled `$ <$environment 1$ >$' viewed from the second closure however! This is no mistake. The label `$ <$environment 1$ >$' refers to the inherited environment and `$ <$environment 2$ >$' refers to the proper environment frame of a closure.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... `x'.[*]
It should be pointed out that this no-name or anonymous function invoking `f' has access to `f' due to `Lexical Scope'. `Lexical Scope' gives functions access to variables that are not `lambda-bound', i.e. variables that are inherited from the environment of the lambda-abstraction or closure. This `Lexical Scope' is one of the 5 constitutive principles of A++.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... argument[*]
The responsibility to check for the validity of the argument is left to the caller of the function.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Impressum und Datenschutz
access counter