Book contents
- Frontmatter
- Contents
- List of Boxes
- Preface
- Part I Introduction
- Part II Action Notation
- Chapter 4 Basic
- Chapter 5 Data
- Chapter 6 Functional
- Chapter 7 Declarative
- Chapter 8 Imperative
- Chapter 9 Reflective
- Chapter 10 Communicative
- Part III Semantic Descriptions
- Part IV Conclusion
- Appendices
- Bibliography
- Symbol Index
- Concept Index
Chapter 9 - Reflective
Published online by Cambridge University Press: 19 January 2010
- Frontmatter
- Contents
- List of Boxes
- Preface
- Part I Introduction
- Part II Action Notation
- Chapter 4 Basic
- Chapter 5 Data
- Chapter 6 Functional
- Chapter 7 Declarative
- Chapter 8 Imperative
- Chapter 9 Reflective
- Chapter 10 Communicative
- Part III Semantic Descriptions
- Part IV Conclusion
- Appendices
- Bibliography
- Symbol Index
- Concept Index
Summary
Reflective action notation is for specifying abstractions and their enaction.
Abstractions are data that incorporate actions. The incorporated action can be supplied with transients and bindings.
Chapter 16 illustrates the use of reflective action notation in the semantic description of procedure declarations.
An abstraction is a datum that merely incorporates a particular action. It corresponds to the ‘code’ for the action, which could be implemented as a sequence of machine instructions, or as a pointer to such a sequence. We use abstractions to represent the semantics of programming constructs such as procedures.
We may form an abstraction directly from an action. The abstraction, just like any other datum, can then be given as a transient, bound to a token, etc. Ultimately, the abstraction should be enacted, so as to perform the incorporated action.
Forming an abstraction may be regarded as a kind of reification, and enacting it as reflection. Reification and reflection are general concepts concerned with passing from components of an implicit, underlying computational state to values that can be manipulated explicitly, and vice versa [FW84]. Thus the evaluation of yielders for referring to the given transients, current bindings, etc., can also be regarded as reification, with the performance of primitive actions such as give Y and produce Y corresponding to reflection.
The action incorporated in an abstraction is usually performed in a context different to that where the abstraction itself occurs.
- Type
- Chapter
- Information
- Action Semantics , pp. 114 - 119Publisher: Cambridge University PressPrint publication year: 1992