abstraction: the sort of datum that incorporates (i.e.,
reifies) an action. The incorporated action is performed when the
abstraction is enacted (i.e., reflected).
Example
abstraction of A: an abstraction, where A is an
action. Incorporates A. Represents (a pointer to) the `code'
implementing A. Yielders occurring in A do
not get evaluated when the abstraction is evaluated: they are left for
evaluation during the performance of the incorporated action.
- Every action-operation (i.e., operation specified
for arguments included in action) is extended to arguments of
sort abstraction, and thus to yielder.
For example, if a1 and a2 are abstractions
that incorporate actions A1 and A2 respectively,
a1 and then a2 is the abstraction that incorporates
the action A1 and then A2.
Example
provision d: an abstraction, where d is
data. Incorporates the action give d.
Useful when the argument is a yielder of data. For example, an evaluation of provision given data yields an abstraction which, when
enacted, always gives the same data, namely that given to the evaluation.
OBS:This action is not implemented by the action interpreter.
production d: an abstraction, where d is
bindings or redirections. Incorporates the action produce d.
Useful when the argument is a yielder of bindings. For example, an evaluation of
production current bindings yields an abstraction which, when
enacted, always reflects the bindings received by the evaluation.
OBS:This action is not implemented by the action interpreter.
|