H ? « »

Language peer sets for BCPL:
United Kingdom
United Kingdom/1967
Designed 1967
1960s languages
Third generation
High Cold War
Genus CPL, BCPL and B
Multi-purpose
CPL, BCPL and B
CPL Algols
Generation of Algol 60
CPL, BCPL and B/1967
CPL Algols/1967
Generation of Algol 60/1967
CPL, BCPL and B/United Kingdom
CPL Algols/United Kingdom
Generation of Algol 60/United Kingdom
Multi-purpose
Multi-purpose/1967
Multi-purpose/uk

BCPL(ID:374/bcp001)

Basic CPL 

alternate simple view
Country: United Kingdom
Designed 1967
Published: 1967
Genus: CPL, BCPL and B
Sammet category: Multi-purpose


Basic CPL. Richards 1967.
British systems language, a descendant of CPL and the inspiration for B and C.
BCPL is low-level, typeless and block-structured, and provides only one-dimensional arrays. Case is not significant, but conventionally reserved words begin with a capital.
Flow control:
If-Then, Test-Then-Else, Unless-Do, While-Do, Until-Do, Repeat, Repeatwhile, Repeatuntil, For-to-By-Do, Loop, Break and Switchon-Into-Case-Default-Endcase.

BCPL has conditional expressions, pointers, and manifest constants.

BCPL had both procedures: 'Let foo(bar) Be command' and functions: 'Let foo(bar) = expression'.
'Valof $(..Resultis..$)' causes a compound command to produce a value.
Parameters are call-by-value. Program segments communicate via the global vector where system and user variables are stored in fixed numerical locations in a single array.

BCPL was used to implement the TRIPOS OS, which was subsequently reincarnated as AmigaDOS.  

Oxford BCPL differed slightly: Test-Ifso-Ifnot, and section brackets in place of $( $).



Places
People:
Structures:
Related languages
AED BCPL   Written using
CPL BCPL   Subset
BCPL ALIAS   Written using
BCPL B   Evolution of
BCPL CSL   Written using
BCPL MCPL   Evolution of
BCPL Oxford BCPL   Implementation of
BCPL Q   Written using
BCPL QSPL   Influence
BCPL S-Algol   Influence
BCPL SIMPL   Influence
BCPL SPL   Influence
BCPL VSPL   Influence

References:
  • Richards, Martin (1967) Richards, Martin "BCPL Reference Manual", MIT Project MAC Memo M-352, July 21, 1967. Abstract
  • Richards, M (1969) Richards, M "The BCPL Reference Manual", Technical Memorandum 69/1, Cambridge U. Mathematical Laboratory, 1969
  • Richards, M. (1969) Richards, M. "CPL: A tool for compiler writing and system programming" pp557-566
          in [AFIPS] (1969) [AFIPS] Proceedings of the 1969 Spring Joint Computer Conference SJCC 34
  • Sammet (1972) Sammet, Jean E., "Roster of Programming Languages 1972" 35
          in (1972) Computers & Automation 21(6B), 30 Aug 1972
  • Stoy and Strachey (1972) Stoy, J. E,; Strachey, C.: "OS 6, an experimental operating system for a small computer. Part 1: General principles and structure" Extract: The choice of language (why BCPL) Extract: BCPL v ALGOL Extract: Conclusions
          in The Computer Journal (1972) The Computer Journal 15(2) 1972
  • Richards, M (1973) Richards, M "The BCPL programming manual" University Cambridge Computer Laboratory, Cambridge, England, 1973.
          in The Computer Journal (1972) The Computer Journal 15(2) 1972
  • Sammet, Jean E. (1973) Sammet, Jean E. "Roster of Programming Languages for 1973" p147
          in (1974) ACM Computing Reviews 15(04) April 1974
  • Stock and Stock (1973) Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 85 Abstract
          in (1974) ACM Computing Reviews 15(04) April 1974
  • Stoy and Strachey (1973) Stoy, J. E,; Strachey, C.: "OS 6, an experimental operating system for a small computer. Part 2: lnput/output and filing system" Abstract
          in (1972) The Computer Journal 15(3) 1972
  • Richards, M. (1974) Richards, M. "Bootstrapping the BCPL compiler using INTCODE" pp265-270 Abstract
          in van der Poel, Maarsen (eds) (1974) Machine Oriented Higher Level Languages (van der Poel, Maarsen, editors) North Holland 1974
  • Richards, M., A. (1974) Richards, M., A. Evans, et al. (1974). The BCPL reference manual. Cambridge, Massachusetts Institute of Technology Project MAC. Page at MULTICS Abstract
          in van der Poel, Maarsen (eds) (1974) Machine Oriented Higher Level Languages (van der Poel, Maarsen, editors) North Holland 1974
  • Gorman, W. and M. Broussard (1976) Gorman, W. and M. Broussard "Minicomputer programming languages."
          in [SIGPLAN] (1976) SIGPLAN Notices 11(04) April 1976
  • Higley, CJ (1976) Higley, CJ "Type checking in a typeless language" Abstract Online copy
          in (1976) The Computer Journal 19(2) May 1976
  • Abramson, Harvey; Fox, Mark; Gorlick, Michael; Man (1978) Abramson, Harvey; Fox, Mark; Gorlick, Michael; Manis, Vince; Peck, John "The Pica-B Computer An Abstract Target Machine For A Transportable Single-User Operating Environment" pp301-309 Abstract
          in [Proceedings] (1978) Proceedings of the 1978 annual conference 1978, Washington, D.C., United States
  • Sammet, Jean E (1978) Sammet, Jean E "Roster of programming languages for 1976-77" pp56-85
          in [SIGPLAN] (1978) SIGPLAN Notices 13(11) Nov 1978
  • Curry, James E (1979) Curry, James E "BCPL Reference Manual" Computer Sciences Laboratory XPARC 1979 Abstract pdf
          in [SIGPLAN] (1978) SIGPLAN Notices 13(11) Nov 1978
  • [Fosdick] (1979) Fosdick, Howard "High-level languages for operating systems development: a historical overview" pp31-37
          in [SIGPLAN] (1979) SIGPLAN Notices 14(07) July 1979
  • Richards, Martin & Colin Whitby-Stevens, (1979) Richards, Martin & Colin Whitby-Stevens,"BCPL The Language and its Compiler", Cambridge U Press 1979.
          in [SIGPLAN] (1979) SIGPLAN Notices 14(07) July 1979
  • Brooker, RA (1982) Brooker, RA "A 'database' subsystem for BCPL" pp448-464 Online copy Abstract
          in (1982) The Computer Journal 25(3) 1982
  • Wilson, I.D. (1983) Wilson, I.D. "The implementation of BCPL on a Z80 based microcomputer" Technical Report UCAM-CL-TR-15
          in (1982) The Computer Journal 25(3) 1982
  • Fischer, A. (1984) Fischer, A. J. Guarded and Unguarded Coroutines: an Implementation in BCPL
          in (1984) Software — Practice and Experience 14(04) April 1984
  • Emery, G. (1986) Emery, G. (1986). BCPL and C. Oxford Oxfordshire ; Boston, Blackwell Scientific Publications.
          in (1984) Software — Practice and Experience 14(04) April 1984
  • Ritchie, Dennis M. (1996) Ritchie, Dennis M. "The development of the C programming language" in "History of Programming Languages", ACM Press/Addison-Wesley Publishing Company, New York (1996) ed Bergin and Gibson Extract: BCPL
          in (1984) Software — Practice and Experience 14(04) April 1984
  • Richards, Martin (2001) Richards, Martin "The BCPL Cintcode System Users Guide", August 2001.
          in (1984) Software — Practice and Experience 14(04) April 1984
  • (2002) Library of Congress Subject Headings B17
          in (1984) Software — Practice and Experience 14(04) April 1984
    Resources
    Search in: Google  Google scholar  World Cat  Yahoo  Overture  DBLP  Monash bib  NZ  IEEE  ACM portal  CiteSeer  CSB  ncstrl  jstor  Bookfinder