Skip to main content
Log in

Program proving: Coroutines

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

Proof methods adequate for a wide range of computer programs have been given in [1–6]. This paper develops a method suitable for programs which incorporate coroutines. The implementation of coroutines described follows closely that given in SIMULA [7, 8], a language in which such features may be used to great advantage. Proof rules for establishing the correctness of coroutines are given and the method is illustrated by the proof of a useful program for histogram compilation.

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. Hoare, C. A. R.: An axiomatic basis for computer programming. Comm. A.C.M.12, 576–580 (1969).

    Google Scholar 

  2. Hoare, C. A. R.: Procedures and parameters; An Axiomatic Approach, Symposium on the Semantics of Algorithmic Languages (ed. E. Engeler) pp. 102–116, Springer-Verlag, 1971.

  3. Hoare, C. A. R.: Proof of a program: FIND, Comm. A.C.M.,14, 39–45 (1971).

    Google Scholar 

  4. Clint, M., Hoare, C. A. R.: Program proving: Jumps and functions. Acta Informatica1, 214–224 (1972).

    Google Scholar 

  5. Foley, M.: Proof a recursive procedure quicksort: A comparison of two methods, Master's Dissertation, The Queen's University of Belfast 1969.

  6. Foley, M., Hoare, C. A. R.: Proof of a recursive program: Quicksort. Comp. J.14, 391–395 (1971).

    Google Scholar 

  7. Dahl, O.-J., Nygaard, K.: SIMULA — a language for programming and description of discrete event systems, introduction and user's manual. Norwegian Computing Center, Forskningsveien 1B, Oslo 3, Norway, May 1965.

    Google Scholar 

  8. Dahl, O.-J., Nygaard, K.: SIMULA — An ALGOL-based simulation language. Comm. A.C.M.9, 671–678 (1966).

    Google Scholar 

  9. Conway, M. E.: Design of a separable transition diagram compiler. Comm. A.C.M.6, 396–408 (1963).

    Google Scholar 

  10. Wang, A., Dahl, O.-J.: Coroutine Sequencing in a Block Structured Environment. Lecture notes, International Summer School on Program Structures and Fundamental Concepts of Programming, Munich, Germany, July 1971.

    Google Scholar 

  11. Foley, M.: The function PREC, Internal report, Department of Computer Science, The Queen's University of Belfast, 1970.

  12. King, J. C.: A Program Verifier, Doctoral Dissertation, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, Pennsylvania, September 1969.

    Google Scholar 

  13. Dahl, O.-J.: Discrete event simulation languages. Programming Languages (F. Genuys, Ed.), pp. 349–395, Academic Press, 1968.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Clint, M. Program proving: Coroutines. Acta Informatica 2, 50–63 (1973). https://doi.org/10.1007/BF00571463

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation