Higher-Order and Symbolic Computation

, Volume 13, Issue 1–2, pp 11–49 | Cite as

Fundamental Concepts in Programming Languages

  • Christopher Strachey


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.

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 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  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

Copyright information

© Kluwer Academic Publishers 2000

Authors and Affiliations

  • Christopher Strachey
    • 1
  1. 1.Programming Research GroupOxford UniversityOxfordUK

Personalised recommendations