Skip to main content
Log in

Control discipline necessity: Making the language as general as the implementation

  • Part I Computer Science
  • Published:
BIT Numerical Mathematics Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. J. W. Backus, et al.,The Fortran automatic coding system, Proc. WJCC, Vol. 11 (1957), 188–198.

    Google Scholar 

  2. K. E. Iverson,A Programming Language, John Wiley & Sons, 1962.

  3. Ole-Johan Dahl, B. Myhrhaug and K. Nygaard,Simula-67: common base language, Norwegian Computing Center, Publ. S-2, Oslo (1968).

  4. J. D. Ichbiah, et al.,Preliminary Ada Reference Manual, SIGPLAN Notice, 14, 6A (June 1979).

  5. G. Lindstrom and M. L. Soffa,Referencing and retention in block-structured coroutines, Trans. Prog. Lang. and Sys., 3, 3 (1981), 263–292.

    Google Scholar 

  6. Christopher D. Marlin,Coroutines: A programming methodology, a language design and an implementation, Lecture Notes in Computer Science, Vol. 95, Springer-Verlag, 1980.

  7. Mary Shaw and Wm. A. Wulf,Toward relaxing assumptions in languages and their implementations, SIGPLAN Notice 15,3 (March 1980), 45–58.

    Google Scholar 

  8. Arne Wang and Ole-Johan Dahl,Coroutine sequencing in a block structured environment, BIT 11 (1971), 425–449.

    Google Scholar 

  9. W. Wulf, D. B. Russell and A. N. Habermann,BLISS: a language for systems programming, CACM 14, 12 (December, 1971), 780–790.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Work supported in part by the National Science Foundation under grant MCS-79-06102 to the University of Pittsburgh.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01944475

Keywords

Navigation