Publication Type |
technical report |
School or College |
College of Engineering |
Department |
Kahlert School of Computing |
Creator |
Lindstrom, Gary E. |
Other Author |
Soffa, Mary Lou |
Title |
Referencing and retention in block-structured coroutines |
Date |
1979 |
Description |
The combination of coroutines with recursive procedures is characteristic of many modern higher-level languages offering advanced control structures (e.g. SIMULA-67, SL5, Interlisp, etc.). We say a language has block-structured coroutines (BSCRs) when static nesting considerations govern the usage of this control combination. Starting with the BSCR control description work of Wang and Dahl, this paper pursues further the implications of static program structure on BSCR programs in a compilation-oriented setting. Disciplines on BSCR reference assignment and individual control actions are defined, offering enhanced implementability and program comprehensibility. Of particular interest is a scope-based discipline on "detach" operations, which avoids the formation of idle chain subheads, an implementationally undesirable condition. The retention requirements of BSCRs are analyzed under a range of possible remote accessibility conditions, and two deletion strategies are then defined, keyed to these requirements. The first uses a special form of scope-sensitive reference counting, and the second does mark-sweep garbage collection, again exploiting static program structure. Space and time estimates for both methods are given, along with avenues for continuing research. |
Type |
Text |
Publisher |
University of Utah |
Subject |
Block-structured; BSCR |
Subject LCSH |
Coroutines (Computer programs); Recursive programming |
Language |
eng |
Bibliographic Citation |
Lindstrom, G. E., & Soffa, M. L. (1979). Referencing and retention in block-structured coroutines. 1-48. UUCS-79-116. |
Series |
University of Utah Computer Science Technical Report |
Relation is Part of |
ARPANET |
Rights Management |
©University of Utah |
Format Medium |
application/pdf |
Format Extent |
2,784,083 bytes |
Identifier |
ir-main,16120 |
ARK |
ark:/87278/s6pn9q5m |
Setname |
ir_uspace |
ID |
705876 |
Reference URL |
https://collections.lib.utah.edu/ark:/87278/s6pn9q5m |