Skip to main content

Introduction

  • Chapter

Part of the book series: Progress in Theoretical Computer Science ((PTCS))

Abstract

In recent years there has been a remarkable convergence of interest in programming languages based on ALGOL 60. Researchers interested in the theory of procedural and object-oriented languages discovered that ALGOL 60 shows how to add procedures and object classes to simple imperative languages in a general and clean way. And, on the other hand, researchers interested in purely functional languages discovered that ALGOL 60 shows how to add imperative mechanisms to functional languages in a way that does not compromise their desirable properties.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  1. S. Abramsky. Computational interpretations of linear logic. Theoretical Computer Science, 111(l-2):3–57, April 12 1993.

    Article  MathSciNet  MATH  Google Scholar 

  2. S. Abramsky. Interaction categories and communicating sequential processes. In Roscoe [Ros94], chapter 1, pages 1–16.

    Google Scholar 

  3. S. K. Abdali and D. S. Wise. Standard, storeless semantics for Algol-style block structure and call-by-name. In A. Melton, editor, Mathematical Foundations of Programming Semantics, volume 239 of Lecture Notes in Computer Science, pages 1–19, Manhattan, Kansas, April 1985. Springer-Verlag, Berlin (1986).

    Google Scholar 

  4. J. W. Backus. The syntax and semantics of the proposed international algebraic language of the Zurich ACM-GAMM Conference. In Information Processing, Proceedings of the International Conference on Information Processing, pages 125–131, Paris, June 1959.

    Google Scholar 

  5. J. Backus. Can programming be liberated from the von Neumann style? a functional style and its algebra of programs. Comm. ACM, 21(8):613–641, August 1978.

    Article  MathSciNet  MATH  Google Scholar 

  6. G. Berry and P-L. Curien. Sequential algorithms on concrete data structures. Theoretical Computer Science, 20:265–321, 1982.

    Article  MathSciNet  MATH  Google Scholar 

  7. S. Brookes. Full abstraction for a shared variable parallel language. In Proceedings, 8th Annual IEEE Symposium on Logic in Computer Science, pages 98–109, Montreal, Canada, 1993. IEEE Computer Society Press, Los Alamitos, California.

    Google Scholar 

  8. R. M. Burstall. Formal description of program structure and semantics in first-order logic. In B. Meitzer and D. Michie, editors, Machine Intelligence 5, pages 79–98. Edinburgh University Press, Edinburgh, 1970.

    Google Scholar 

  9. R. Bird and P. Wadler. Introduction to Functional Programming. Prentice-Hall International, London, 1988.

    Google Scholar 

  10. M. Coppo and M. Dezani. A new type assignment for A-terms. Archiv. Math. Logik, 19:139–156,1978.

    Article  MATH  Google Scholar 

  11. A. Church. The Calculi of Lambda Conversion. Princeton University Press, Princeton, 1941.

    Google Scholar 

  12. E. M. Clarke. Programming language constructs for which it is impossible to obtain good Hoare-like axiom systems. J. ACM, 26(1):129–147,1979.

    Article  MATH  Google Scholar 

  13. R. M. De Morgan, I. D. Hill, and B. A. Wichmann. A supplement to the Algol 60 Revised Report. The Computer Journal, 19(3):276–288, 1976.

    Article  MATH  Google Scholar 

  14. M. Fiore, E. Moggi, and D. Sangiorgi. A fully abstract model for the π-calculus. In [LIC96], pages 43–54.

    Google Scholar 

  15. W. Henhapl and C. B. Jones. Algol 60. In D. Bjørner and C. B. Jones, editors, Formal Specification and Software Development, pages 141–173. Prentice-Hall International, London, 1982.

    Google Scholar 

  16. C. A. R. Hoare and C. B. Jones, editors. Essays in Computing Science. Prentice-Hall International, 1989.

    MATH  Google Scholar 

  17. J. M. E. Hyland and C.–H. L. Ong. On full abstraction for PCF: I, II and III. Submitted for publication, 1994.

    Google Scholar 

  18. C. A. R. Hoare. An axiomatic basis for computer programming. Comm. ACM, 12(10):576–580 and 583, 1969.

    Article  MATH  Google Scholar 

  19. C. A. R. Hoare. Hints on programming-language design. In C. Bunyan, editor, Computer Systems Reliability, volume 20 ofState of the Art Report, pages 505–34. Pergamon/Infotech, 1974. Also pages 193–216 of [HJ89].

    Google Scholar 

  20. P. Hudak. Conception, evolution, and application of functional programming languages. Computing Surveys, 31:359–411, 1989.

    Article  Google Scholar 

  21. J. Hughes. Why functional programming matters. The Computer Journal, 32:98–107, 1989.

    Article  Google Scholar 

  22. D. E. Knuth. The remaining troublespots in Algol 60. Comm. ACM, 10(10):611–617, 1967.

    Article  MathSciNet  MATH  Google Scholar 

  23. P. J. Landin. A formal description of Algol 60. In Steel [Ste64], pages 266–294.

    Google Scholar 

  24. P. J. Landin. A correspondence between Algol 60 and Church’s lambda notation. Comm. ACM, 8(2,3):89–101 and 158–165, 1965.

    Article  MathSciNet  Google Scholar 

  25. [LIC96]Proceedings, 11th Annual IEEE Symposium on Logic in Computer Science, New Jersey, USA, 1996. IEEE Computer Society Press, Los Alamitos, California.

    Google Scholar 

  26. J. Launchbury and S. Peyton Jones. State in HASKELL. LISP and Symbolic Computation, 8(4):293–341, December 1995.

    Article  Google Scholar 

  27. R. Milner. Communication and Concurrency. Prentice-Hall International, 1989.

    MATH  Google Scholar 

  28. J. H. Morris. Real programming in functional languages. In J. Darlington, P. Henderson, and D. A. Turner, editors, Functional Programming and its Applications, pages 129–176. Cambridge University Press, Cambridge, England, 1982.

    Google Scholar 

  29. P. Mosses. The mathematical semantics of Algol 60. Technical monograph PRG-12, Oxford University Computing Laboratory, Programming Research Group, Oxford, January 1974.

    Google Scholar 

  30. R. E. Milne and C. Strachey. A Theory of Programming Language Semantics. Chapman and Hall, London, and Wiley, New York, 1976.

    MATH  Google Scholar 

  31. P. Naur (ed.), J. W. Backus, et al. Report on the algorithmic language Algol 60. Comm. ACM, 3(5):299–314, 1960. Also Numerische Mathematik 2:106–136.

    Google Scholar 

  32. P. Naur, J. W. Backus, et al. Revised report on the algorithmic language ALGOL 60. Comm. ACM, 6(1):1–17,1963. Also The Computer Journal 5:349–67, and Numerische Mathematik 4:420–53.

    Article  Google Scholar 

  33. F. J. Oles. Type algebras, functor categories and block structure. In M. Nivat and J. C. Reynolds, editors, Algebraic Methods in Semantics, pages 543–573. Cambridge University Press, Cambridge, England, 1985.

    Google Scholar 

  34. P. W. O’Hearn and U. S. Reddy. Objects, interference, and the Yoneda embedding. In S. Brookes, M. Main, A. Melton, and M. Mislove, editors, Mathematical Foundations of Programming Semantics, Eleventh Annual Conference, volume 1 of Electronic Notes in Theoretical Computer Science, Tulane University, New Orleans, Louisiana, March 29-April 1 1995. Elsevier Science (http://www.elsevier.nl).

    Google Scholar 

  35. P. W. O’Hearn and J. C. Reynolds. From Algol to polymorphic linear lambda-calculus. Unpublished draft, 1996.

    Google Scholar 

  36. P. W. O’Hearn and R. D. Tennent. Semantics of local variables. In M. P. Fourman, P. T. Johnstone, and A. M. Pitts, editors, Applications of Categories in Computer Science, volume 177 of London Mathematical Society Lecture Note Series, pages 217–238. Cambridge University Press, Cambridge, England, 1992.

    Google Scholar 

  37. G. D. Plotkin. Lambda-definability and logical relations. Memorandum SAIRM-4, School of Artificial Intelligence, University of Edinburgh, October 1973.

    Google Scholar 

  38. A. Pitts and I. Stark. Observable properties of higher order functions that dynamically create local names, or: What’s new? In A. M. Borzyszkowski and S. Sokolowski, editors, Mathematical Foundations of Computer Science, volume 711 of Lecture Notes in Computer Science, pages 122–140, Gdansk, Poland, 1993. Springer-Verlag, Berlin.

    Google Scholar 

  39. S. Peyton-Jones and P. Wadler. Imperative functional programming. In Conference Record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 71–84, Charleston, South Carolina, 1993. ACM, New York.

    Google Scholar 

  40. U. S. Reddy. Passivity and independence. In Proceedings, Ninth Annual IEEE Symposium on Logic in Computer Science, pages 342–352, Paris, France, 1994. IEEE Computer Society Press, Los Alamitos, California.

    Google Scholar 

  41. J. C. Reynolds. The Craft of Programming. Prentice-Hall International, London, 1981.

    MATH  Google Scholar 

  42. J. C. Reynolds. Types, abstraction and parametric polymorphism. In R. E. A. Mason, editor, Information Processing 83, pages 513–523, Paris, France, 1983. North-Holland, Amsterdam.

    Google Scholar 

  43. J. C. Reynolds. Syntactic control of interference, part 2. In G. Ausiello, M. Dezani-Ciancaglini, and S. Ronchi Delia Rocca, editors, Automata, Languages and Programming, 16th International Colloquium, volume 372 of Lecture Notes in Computer Science, pages 704–722, Stresa, Italy, July 1989. Springer-Verlag, Berlin.

    Chapter  Google Scholar 

  44. J. C. Reynolds. The discoveries of continuations. L isp and Symbolic Computation, 6(3/4):233–247,1993.

    Article  Google Scholar 

  45. A. W. Roscoe, editor. A Classical Mind, Essays in Honour of C. A. R. Hoare. Prentice-Hall International, 1994.

    Google Scholar 

  46. D. S. Scott. A type-theoretical alternative to Cuch, Iswim, Owhy. Privately circulated memo, Oxford University, October 1969. Published in Theoretical Computer Science, 121(1/2):411–440, 1993.

    Google Scholar 

  47. D. S. Scott. Mathematical concepts in programming language semantics. In Proc. 1972 Spring Joint Computer Conference, pages 225–34. AFIPS Press, Montvale, N.J., 1972.

    Google Scholar 

  48. D. S. Scott. Models for various type-free calculi. In P. Suppes et al., editors, Logic, Methodology, and the Philosophy of Science, IV, pages 157–187, Bucharest, 1972. North-Holland, Amsterdam.

    Google Scholar 

  49. D. S. Scott and C. Strachey. Toward a mathematical semantics for computer languages. In J. Fox, editor, Proceedings of the Symposium on Computers and Automata, volume 21 of Microwave Research Institute Symposia Series, pages 19–46. Polytechnic Institute of Brooklyn Press, New York, 1971. Also Technical Monograph PRG-6, Oxford University Computing Laboratory, Programming Research Group, Oxford.

    Google Scholar 

  50. R. Statman. Logical relations and the typed λ-calculus. Information and Computation, 65:85–97, 1985.

    MathSciNet  MATH  Google Scholar 

  51. I. Stark. Categorical models for local names. L isp and Symbolic Computation, 9(1):77–107, feb 1996.

    Article  Google Scholar 

  52. I.A. Stark. A fully abstract domain model for the π-calculus. In [LIC96], pages 36–42.

    Google Scholar 

  53. T. B. Steel, Jr., editor. Formal Language Description Languages for Computer Programming, Proceedings of the IFIP Working Conference, Baden bei Wien, Austria, September 1964. North-Holland, Amsterdam (1966).

    MATH  Google Scholar 

  54. J. E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. The MIT Press, Cambridge, Massachusetts, and London, England, 1977.

    Google Scholar 

  55. C. Strachey. Fundamental Concepts in Programming Languages. Unpublished lecture notes, International Summer School in Computer Programming, Copenhagen, August 1967.

    Google Scholar 

  56. C. Strachey and C. P. Wadsworth. Continuations: a mathematical semantics for handling full jumps. Technical Monograph PRG-6, Oxford University Computing Laboratory, Programming Research Group, Oxford, 1974.

    Google Scholar 

  57. R. D. Tennent. Correctness of data representations in ALGOL-like languages. In Roscoe [Ros94], chapter 23, pages 405–417.

    Google Scholar 

  58. B. A. Trakhtenbrot, J. Y. Halpern, and A. R. Meyer. From denotational to operational and axiomatic semantics for Algol-like languages: an overview. In E. M. Clarke, Jr. and D. Kozen, editors, Logics of Programs 1983, volume 164 of Lecture Notes in Computer Science, pages 474–500, Pittsburgh, PA, 1983. Springer-Verlag, Berlin, 1984.

    Google Scholar 

  59. A. van Wijngaarden. Generalized Algol. In R. Goodman, editor, Annual Review in Automatic Programming, volume 3, pages 17–26. Pergamon Press, Oxford, 1963.

    Google Scholar 

  60. A. van Wijngaarden. Recursive definition of syntax and semantics. In Steel [Ste64], pages 13–24.

    Google Scholar 

  61. A. van Wijngaarden (ed.) et al. Report on the algorithmic language Algol 68. Numerische Mathematik, 14:79–218, 1969.

    Google Scholar 

  62. W. W. Wadge and E. A. Ashcroft. L ucid, the Dataflow Programming Language, volume 22 of APIC Studies in Data Processing. Academic Press, London, 1985.

    Google Scholar 

  63. R. L. Wexelblat, editor. History of Programming Languages. Academic Press, New York, 1981.

    MATH  Google Scholar 

  64. N. Wirth and C. A. R. Hoare. A contribution to the development of Algol. Comm. ACM, 9(6):413–432, June 1966.

    Article  MATH  Google Scholar 

  65. B. A. Wichmann. A lgol 60 Compilation and Assessment. Academic Press, London, 1973.

    Google Scholar 

  66. N. Wirth. The programming language PASCAL. Acta Informatica, 1:35–63, 1971.

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Birkhäuser Boston

About this chapter

Cite this chapter

O’Hearn, P.W., Tennent, R.D. (1997). Introduction. In: O’Hearn, P.W., Tennent, R.D. (eds) Algol-like Languages. Progress in Theoretical Computer Science. Birkhäuser Boston. https://doi.org/10.1007/978-1-4612-4118-8_1

Download citation

  • DOI: https://doi.org/10.1007/978-1-4612-4118-8_1

  • Publisher Name: Birkhäuser Boston

  • Print ISBN: 978-1-4612-8661-5

  • Online ISBN: 978-1-4612-4118-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics