CPL In the Technical Report. CPL Working Papers (CSAC 71.1.80/C.153) these initials...
This record is held by Oxford University: Bodleian Library, Special Collections
In the Technical Report. CPL Working Papers (CSAC 71.1.80/C.153) these initials are expanded as Combined Programming Language, thus encompassing both the origin of the project as a joint endeavour between Cambridge and London Universities, and its intention to develop a language with the properties of ALGOL 60 and of a list processing language such as LISP.
The initials are, however, often understood to stand for Cambridge Programming Language, and are so expanded in A. Hyman, Computing. A Dictionary of terms, concepts and ideas, London 1976, where it is defined as 'A specialized programming language of great logical power developed by Christopher Strachey'. Less seriously, CPL was sometimes taken to refer to Christopher's Private Language, reflecting Strachey's major contribution to the work of the team.
Because CPL and its development BCPL originated in Cambridge, all the related papers have been kept together as an entity, although they extend over a much wider spread of time and place, covering Strachey's period at Massachusetts Institute of Technology and his appointment at Oxford, as well as similar comings and goings among other members of the CPL team.
The following remarks and descriptions of the history of CPL are adapted from the Preface to the Working Papers (CSAC 71.1.80/C.153)
'In October 1962 a joint research project was begun by the University Mathematical Laboratory, Cambridge and the Institute of Computer Science, London (then known as the University of London Computer Unit). The aim of this project was to design and implement a new programming language for use on the Atlas I and II (Titan) computers in the two establishments.
The initial team consisted of D.W. Barron, D.F. Hartley and C. Strachey from Cambridge and J.N. Buxton and E. Nixon from London.
It was intended that the language should possess the advantages of the general structure and precise description of Algol 60 but should be of wider practical utility. Many of its main features were settled at an early stage and were described (in 1963) in a paper on the Computer Journal (CSAC 71.1.80/C.141, CSAC 71.1.80/F.24).
The design of the language, as apposed to its implementation, was never more than a part time occupation for any of the authors. As the language gradually approached its present state, the authors' meetings became less frequent and those who were not actively engaged in an implementation found it more difficult to keep in touch with the language. At the same time some of the people who were engaged in an implementation began making substantial contributions to the language itself. During the period 1963 to 1966 D.W. Barron left the CPL language group and D. Park and M. Richards from Cambridge and G.F. Coulouris from London joined it'.
Two versions of an Elementary Programming Manual were produced (CSAC 71.1.80/C. 145 and CSAC 71.1.80/C. 152) and three chapters of an Advanced Programming Manual were written by Strachey (CSAC 71.1.80/C.147).
In the spring of 1965 the authors decided to prepare and if possible publish a Reference Manual which would contain a complete description of CPL as it then stood. A first draft was prepared by Buxton and was followed by a second by Buxton, Hartley, Richards, Park and Coulouris, each writing one or more sections. This second draft (CSAC 71.1.80/C. 148) was sent to Strachey at M.I.T. for extensive editing and revision (CSAC 71.1.80/C.149-CSAC 71.1.80/C.151).
After Strachey returned from M.I.T. the authors held a meeting in Oxford on 24 June 1966 (CSAC 71.1.80/C.156) at which they decided to publish a Technical Report. This Report (known as the 'Working Papers') would consist of the 2nd edition of the Elementary Programming Manual (CSAC 71.1.80/C.152) and the revised draft of the Reference Manual which had been circulated in the spring of 1966 (CSAC 71.1.80/C.151).
The Technical Report (CSAC 71.1.80/C. 153) was the last formal report by the authors although work continued on CPL, especially on compound data structures and segmentation, and on BCPL, devised by M. Richards as a subset of CPL (CSAC 71.1.80/C.185-CSAC 71.1.80/C.196), for several years.
The papers are grouped into 2 sections
CSAC 71.1.80/C.136-CSAC 71.1.80/C.157 'Published papers'.
These are any semi-formal papers issued by the group-early Titan programming papers, CPL Bulletins and Circulars, Programming Manuals with Appendices and Supplements, various versions of the Reference Manual and the Working Papers. Included in this section are any drafts and working notes specifically linked to a publication.
Special attention is drawn to CSAC 71.1.80/C.155, the folder of 35 CPL language papers.
CSAC 71.1.80/C.158-CSAC 71.1.80/C.184 Working Papers.
These are the less formal notes, calculations, printout, etc. generated by Strachey and the other members of the team. They are of a very miscellaneous composition and often cover a wide span of dates, owing to Strachey's habit of reworking his files or creating new ones from several disparate subjects. The contents of each folder have been left in Strachey's original order and enumerated as far as possible, although it will be obvious that they are very much interrelated. Cross-references have been given where possible, but do not claim to be complete.
|Held by:||Oxford University: Bodleian Library, Special Collections, not available at The National Archives|
Context of this record
- 161 - Oxford University: Bodleian Library, Special Collections
- NCUACS 71.1.80 - Catalogue of the papers and correspondence of CHRISTOPHER STRACHEY (1916 - 1975)
- CSAC 71.1.80/C.1 - C.274 - SECTION C WORKING PAPERS, NOTES AND CALCULATIONS
- CSAC 71.1.80/C.136-C.201 - CAMBRIDGE UNIVERSITY MATHEMATICAL LABORATORY Strachey's period of work in Cambridge was relatively short. He joined the Mathematical Laboratory on...
- CSAC 71.1.80/C.136-C.184 - CPL In the Technical Report. CPL Working Papers (CSAC 71.1.80/C.153) these initials are expanded as Combined Programming Language, thus...