Reflective Data

abstraction | abstraction of A | provision d | production d

   
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.


    Reflective Action Index | Reflective Actions | Reflective Yielders | Reflective Data