Skip to main content

Fundamental Concepts in Programming Languages

Abstract

This paper forms the substance of a course of lectures given at the International Summer School in Computer Programming at Copenhagen in August, 1967. The lectures were originally given from notes and the paper was written after the course was finished. In spite of this, and only partly because of the shortage of time, the paper still retains many of the shortcomings of a lecture course. The chief of these are an uncertainty of aim—it is never quite clear what sort of audience there will be for such lectures—and an associated switching from formal to informal modes of presentation which may well be less acceptable in print than it is natural in the lecture room. For these (and other) faults, I apologise to the reader.

There are numerous references throughout the course to CPL [1–3]. This is a programming language which has been under development since 1962 at Cambridge and London and Oxford. It has served as a vehicle for research into both programming languages and the design of compilers. Partial implementations exist at Cambridge and London. The language is still evolving so that there is no definitive manual available yet. We hope to reach another resting point in its evolution quite soon and to produce a compiler and reference manuals for this version. The compiler will probably be written in such a way that it is relatively easyto transfer it to another machine, and in the first instance we hope to establish it on three or four machines more or less at the same time.

The lack of a precise formulation for CPL should not cause much difficulty in this course, as we are primarily concerned with the ideas and concepts involved rather than with their precise representation in a programming language.

This is a preview of subscription content, access via your institution.

References

  1. Beyme, K. von (1973). Die parlamentarischen Regierungssysteme in Europa. Munich: Piper.

    Google Scholar 

  2. Bryce, J. (1921). Modern democracies. New York: Macmillan.

    Google Scholar 

  3. Duverger, M. (1980). A new political system model: Semi-presidential government, European Journal of Political Research 8: 165-187.

    Google Scholar 

  4. Elgie, R. (1998). The classification of democratic regime types: conceptual ambiguity and contestable assumptions, European Journal of Political Research 33: 219-238.

    Google Scholar 

  5. Laver, M. & Shepsle, K.A. (1996). Making and breaking governments: Cabinets and legislatures in parliamentary democracies. Cambridge: Cambridge University Press.

    Google Scholar 

  6. Linz, J.J. & Valenzuela., A. (1994). The failure of presidential democracy. Baltimore: Johns Hopkins University Press.

    Google Scholar 

  7. Loewenberg, G. & Patterson, S.C. (1979). Comparing legislatures. Boston: Little, Brown.

    Google Scholar 

  8. Loewenstein, K. (1957). Political power and the governmental process. Chicago: University of Chicago Press.

    Google Scholar 

  9. Mainwaring, S. (1990). Presidentialism in Latin America: A review essay, Latin American Research Review 25: 157-179.

    Google Scholar 

  10. Michels, R. (1962). Political parties. New York: Free Press.

    Google Scholar 

  11. Moe, T.M. & Caldwell, M. (1994). The institutional foundations of democratic government: A comparison of presidential and parliamentary systems, Journal of Institutional and Theoretical Economics 150: 171-195.

    Google Scholar 

  12. Riker, W.H. (1982). Liberalism against populism: A confrontation between the theory of democracy and the theory of Social Choice. San Francisco: W.H. Freeman.

    Google Scholar 

  13. Shugart, M.S. & Carey, J. (1992). Presidents and assemblies. Cambridge: Cambridge University Press.

    Google Scholar 

  14. Steffani, W. (1979). Parlamentarische und präsidielle Demokratie. Opladen: Westdeutscher Verlag.

    Google Scholar 

  15. Verney, D.V. (1959). The analysis of political systems. London: Routledge & Kegan Paul.

    Google Scholar 

  16. Weaver, R.K. & Rockman, B.A. eds. (1993). Do institutions matter? Government capabilities in the United States and abroad. Washington, DC: The Brookings Institution.

    Google Scholar 

  17. Weber, M. (1972). Wirtschaft und Gesellschaft. Tübingen: Mohr.

    Google Scholar 

Download references

Author information

Affiliations

Authors

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Strachey, C. Fundamental Concepts in Programming Languages. Higher-Order and Symbolic Computation 13, 11–49 (2000). https://doi.org/10.1023/A:1010000313106

Download citation

  • programming languages
  • semantics
  • foundations of computing
  • CPL
  • L-values
  • R-values
  • parameter passing
  • variable binding
  • functions as data
  • parametric polymorphism
  • ad hoc polymorphism
  • binding mechanisms
  • type completeness