Abstract
The formal verification of control structure implementation techniques is a subject receiving increased attention among programming language researchers. Such correctness arguments relate source language control semantics to corresponding implementation effects. Most commonly, it is demonstrated that a particular implementation strategy α is “safe” is some source language control disciplineδ is observed. We term this asufficiency proof forδ with given α. In this paper, the companion issue of thenecessity ofδ is explored. That is, we consider the question of whether some more liberal disciplineδ might also be sufficient for α. The motivation is the observation that language designers often have particular control implementation strategies in minda priori, but at times over-restrict their final designs to ensure that the envisioned implementation remains applicable. The general notion of control discipline necessity proofs is illustrated by a proof that Wang and Dahl's CS condition on block-structured coroutines is necessary, given a simple scope-based deletion strategy, but that their CR condition is not necessary unless scope-based referencing constraints are taken into account.
Similar content being viewed by others
References
J. W. Backus, et al.,The Fortran automatic coding system, Proc. WJCC, Vol. 11 (1957), 188–198.
K. E. Iverson,A Programming Language, John Wiley & Sons, 1962.
Ole-Johan Dahl, B. Myhrhaug and K. Nygaard,Simula-67: common base language, Norwegian Computing Center, Publ. S-2, Oslo (1968).
J. D. Ichbiah, et al.,Preliminary Ada Reference Manual, SIGPLAN Notice, 14, 6A (June 1979).
G. Lindstrom and M. L. Soffa,Referencing and retention in block-structured coroutines, Trans. Prog. Lang. and Sys., 3, 3 (1981), 263–292.
Christopher D. Marlin,Coroutines: A programming methodology, a language design and an implementation, Lecture Notes in Computer Science, Vol. 95, Springer-Verlag, 1980.
Mary Shaw and Wm. A. Wulf,Toward relaxing assumptions in languages and their implementations, SIGPLAN Notice 15,3 (March 1980), 45–58.
Arne Wang and Ole-Johan Dahl,Coroutine sequencing in a block structured environment, BIT 11 (1971), 425–449.
W. Wulf, D. B. Russell and A. N. Habermann,BLISS: a language for systems programming, CACM 14, 12 (December, 1971), 780–790.
Author information
Authors and Affiliations
Additional information
Work supported in part by the National Science Foundation under grant MCS-79-06102 to the University of Pittsburgh.
Rights and permissions
About this article
Cite this article
Soffa, M.L. Control discipline necessity: Making the language as general as the implementation. BIT 22, 169–182 (1982). https://doi.org/10.1007/BF01944475
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF01944475