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 6 - Functional
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
Action notation includes a functional action notation for specifying data flow.
Functional actions are concerned with transient information.
Chapter 13 illustrates the use of functional action notation in the semantic description of expressions and statements.
So far, we have considered actions and data separately: basic action notation does not involve data at all, nor does data notation involve actions. This chapter introduces functional actions that do involve data, as well as yielders that can occur in actions.
The information that actions can process is classified as transient, scoped, stable, or permanent, according to how far it tends to be propagated. Functional actions are concerned with processing transient information, which generally isn't propagated very far during action performance. The transient information current at the start of an action may still be current at the start of the action's direct subactions. However, almost all primitive actions, and a few combinators, prevent the propagation of transient information, so it usually disappears rather quickly.
Transient information represents intermediate values computed during program execution. For example, it may represent the values of some subexpressions, prior to the application of an arithmetic operation to them. Transient information typically corresponds to data which implementations put in registers, or on a stack.
Each item of transient information consists of a single individual of sort datum. We represent a collection of transients as a tuple, so as to be able to keep track of each item.
- Type
- Chapter
- Information
- Action Semantics , pp. 88 - 97Publisher: Cambridge University PressPrint publication year: 1992