The Language List Version 1.8 - Part 2 of 9 
Author Message
 The Language List Version 1.8 - Part 2 of 9

ASP - Query language?  Sammet 1969, p.702.

ASPOL - A Simulation Process-Oriented Language.  An ALGOL-like language for
computer simulation.  "Process and Event Control in ASPOL", M.H.
MacDougall, Proc Symp on Simulation of Computer Systems, NBS (Aug 1975).

ASPEN - Toy language for teaching compiler construction.  "ASPEN Language
Specifications", T.R. Wilcox, SIGPLAN Notices 12(11):70-87 (Nov 1977).

ASPIK - Multiple-style specification language.  "Algebraic Specifications
in an Integrated Software Development and Verification System", A. Voss,
Diss, U Kaiserslautern, 1985.

Aspirin - A language for the description of neural networks.  For use with
the MIGRAINES system.

ASPLE - Toy language.  "A Sampler of Formal Definitions", M. Marcotty et
al, Computing Surveys 8(2):191-276 (Feb 1976).

ASSEMBLY - Early system on IBM 702.  Listed in CACM 2(5):16 (May 1959).

ASTAP - Advanced STatistical Analysis Program.  Analyzing electronic
circuits and other networks.  "Advanced Statistical Analysis Program
(ASTAP) Program Reference Manual", SH-20-1118, IBM, 1973.

Astral - Based on Pascal, never implemented.  "ASTRAL: A Structured and
Unified Approach to Database Design and Manipulation", T. Amble et al, in
Proc of the Database Architecure Conf, Venice, June 1979.

AT-3 - Original name of MATH-MATIC.  Sammet 1969, p.135.

ATLAS - Abbreviated Test Language for Avionics Systems.  _THE_ mil-spec
language for automatic testing of avionics equipment.  Replaced/upgraded
Gaelic and several other test languages.  "IEEE Standard ATLAS Test
Language", IEEE Std 416-1976.

Atlas Autocode - Autocode for the Ferranti Atlas, which may have been the
first commercial machine with hardware-paged virtual memory.  (See

Atlas Commercial Language -

ATOLL - Acceptance, Test Or Launch Language.  Language used for automating
the checkout and launch of Saturn rockets.  "SLCC ATOLL User's Manual", IBM
70-F11-0001, Huntsville AL Dec 1970.

"A'UM - A Stream-based Concurrent Logic Object-Oriented Language", K.
Yoshida et al, Proc 3rd Intl Conf Fifth Gen Comp Sys, Springer 1988,

Aurora - "The Aurora Or-Parallel Prolog System", E. Lusk et al, Proc 3rd
Intl Conf on Fifth Generation Comp Systems, pp. 819-830, ICOT, A-W 1988.

AUTOCODER - Alick E. Glennie, 1952.  Possibly the first primitive compiler,
it translated symbolic statements into machine language for the Manchester
Mark I computer.  Autocoding came to be a generic term for symbolic
assembly language programming, and versions of Autocode were developed for
many machines: Ferranti Atlas, Titan, Mercury and Pegasus, and IBM 702 and

AUTOGRAF - Describing bar charts.  "User's Manual for AUTOGRAF", Cambridge
Computer Assoc (Dec 1972).

AUTOGRP - AUTOmated GRouPing system.  Interactive statistical analysis.  An
extension of CML.  "AUTOGRP: An Interactive Computer System for the
Analysis of Health Care Data", R.E. Mills et al, Medical Care 14(7) (Jul

Autolisp - Dialect of LISP used by the Autocad CAD package, Autodesk,
Sausalito, CA.

AUTOMATH - Eindhoven, Netherlands.  A very high level language for writing
proofs.  "The Mathematical Language AUTOMATH, Its Usage and Some of its
Extensions", N.G. deBruijn, in Symp on Automatic Demonstration, LNM 125,
Springer 1970.

Autopass - "Autopass: An Automatic Programming System for Computer-
Controlled Mechanical Assembly", L.I. Lieberman et al, IBM J Res Dev
21(4):321-333 (1979).

AUTO-PROMPT - Numerical control language from IBM for 3-D milling.  Sammet
1969, p.606.

Autostat - "Autostat: A Language for Statistical Programming", A.S. Douglas
et al, Computer J 3:61 (1960).

Avalon/C++ - 1986.  Fault-tolerant distributed systems, influenced by
Argus.  A concurrent extension of C++ with servers and transactions.
"Camelot and Avalon: A Distributed Transaction Facility", J.L. Eppinger et
al, Morgan Kaufmann 1990.

Avalon/Common LISP - Prototype only.  "Reliable Distributed Computing with
Avalon/Common LISP", S.M. Clamen et al, CMU-CS-89-186 and Proc Intl Conf on
Computer Languages, Mar 1990.

AXIOM - IBM.  Commercially available subset of Scratchpad.

AXLE - An early string processing language.  Program consists of an
assertion table which specifies patterns, and an imperative table which
specifies replacements.  "AXLE: An Axiomatic Language for String
Transformations", K. Cohen et al, CACM 8(11):657-661 (Nov 1965).

AWK - Aho Weinberger Kernighan.  1978.  Text processing/macro language.
"The AWK Programming Language" A. Aho, B. Kernighan, P. Weinberger, A-W
1988.  (See Bawk, Gawk, Mawk, Nawk, Tawk.)

B -

  1. Thompson, 1970.  A systems language written for Unix on the PDP-11.
Derived from BCPL, and very similar to it except for syntax.  B was the
predecessor of C.  "The Programming Language B", S.C. Johnson & B.W.
Kernighan, CS TR 8, Bell Labs (Jan 1973).

  2. L. Meertens & S. Pemberton.  Simple interactive programming language,
the predecessor of ABC[1].  "Draft Proposal for the B Language", Lambert
Meertens, CWI, Amsterdam, 1981.

B-0 - Original name of FLOW-MATIC, Remington Rand.  UNIVAC I or II ca.


  1. Mentioned in "The Psychology of Computer Programming," Weinberg, 1971
ed, p.241.

  2. Higher-order functional plus first-order logic language.  "Graph-Based
Implementation of a Functional Logic Language", H. Kuchen et al, Proc ESOP
90, LNCS 432, Springer 1990, pp.271-290.  "Logic Programming with Functions
and Predicates: The Language BABEL", Moreno-Navarro et al, J Logic Prog
12(3) (Feb 1992).

BACAIC - Boeing Airplane Company Algebraic Interpreter Coding system.
Pre-fortran system on the IBM 701, IBM 650.

BAL - Basic Assembly Language.  What most people called IBM 360 assembly
language.  (See ALC).

BALGOL - ALGOL on Burroughs 220.  Sammet 1969, p.174.

BALITAC - Early system on IBM 650.  Listed in CACM 2(5):16 (May 1959).

BALM - Block and List Manipulation.  Harrison, 1970.  Extensible language
with LISP-like features and ALGOL-like syntax, for CDC 6600.  "The Balm
Programming Language", Malcolm Harrison, Courant Inst (May 1973).

BAP - Early system on IBM 701.  Listed in CACM 2(5):16 (May 1959).

Baroque - Boyer & Moore, 1972.  Early logic programming language.
"Computational Logic: Structure Sharing and Proof of program Properties",
J. Moore, DCL Memo 67, U Edinburgh 1974.

bash - Bourne Again SHell.  GNU's command shell for Unix.

BASIC - Beginner's All-purpose Symbolic Instruction Code.  John G. Kemeny &
Thomas E. Kurtz, Dartmouth College, designed 1963, first ran on an IBM 704
on May 1, 1964.  Quick and easy programming by students and beginners.
BASIC exists in many dialects, and is popular on microcomputers with sound
and graphics support.  Most micro versions are interactive and interpreted,
but the original Dartmouth BASIC was compiled.  ANSI Minimal BASIC, ANS

BASIC AUTOCODER - Early system on IBM 7070.  Listed in CACM 2(5):16 (May

Basic COBOL - Subset of COBOL from COBOL-60 standards.  Sammet 1969, p.339.

Basic FORTRAN - Subset of FORTRAN.  Sammet 1969, p.150.

Basic JOVIAL - Subset of JOVIAL, ca. 1965.  Sammet 1969, p.529.

bawk - Bob Brodt.  AWK-like pattern-matching language, distributed with

BC NELIAC - Version of NELIAC, post 1962.  Sammet 1969, p.197.

BCL - Successor to Atlas Commercial Language.  "The Provisional BCL
Manual", D. Hendry, U London 1966.

BCPL - Basic CPL.  M. Richards 1969.  British systems language, a
descendant of CPL and the inspiration for B and C.  BCPL is low-level,
block-structured and typeless, and provides only one-dimensional arrays.
    A variety of 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.  BCPL has conditional expressions, pointers, and
manifest constants.  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.  "BCPL - The Language and its
Compiler", Martin Richards & Colin Whitby-Stevens, Cambridge U Press 1979.

BDL - Block Diagram Compiler.  A block-diagram simulation tool, with
associated language.  "A Software Environment for Digital Signal-Processing
Simulations," D.H. Johnson & R.E. Vaughan, Circuits Systems and Signal
Processing 6(1):31-43, (1987).

BELL - Early system on IBM 650 and Datatron 200 series. [Is Datatron
version the same?]  Listed in CACM 2(5):16 (May 1959).  Versions: BELL L2,

Bertrand - (named for the British mathematician Bertrand Russell (1872-
1970)).  Wm. Leler.  Rule-based specification language based on augmented
term rewriting.  Used to implement constraint languages.  The user must
explicitly specify the tree-search and the constraint propagation.
"Constraint Programming Languages - Their Specification and Generation", W.
Leler, A-W 1988, ISBN 0-201-06243-7.  

Nygaard, 1983.  Object-oriented language with block structure, coroutines,
concurrency, strong typing, part objects, separate objects and classless
objects.  Central feature is a single abstrction mechanism called
"patterns", a generalization of classes, providing instantiation and
hierarchical inheritance for all objects including procedures and
processes.  "The BETA Programming Language", B.B. Kristensen et al, in
Research Directions in Object-Oriented Programming, B.D. Shriver et al eds,
MIT Press, 1987.  Mjolner Informatics ApS, implementations for Mac, Sun,
HP, Apollo.

BIOR - Early system on UNIVAC I or II.  Listed in CACM 2(5):16 (May 1959).

Bjorn - Constraint language?

BLAZE - Single assignment language for parallel processing.  "The BLAZE
Language: A Parallel Language for Scientific Programming", P. Mehrotra et
al, J Parallel Comp 5(3):339-361 (Nov 1987).

BLAZE 2 - Object-oriented successor to BLAZE.  "Concurrent Object Access in
BLAZE 2", P. Mehrotra et al, SIGPLAN Notices 24(4):40-42 (Apr 1989).

B-LINE - Early CAD language.  "B-LINE, Bell Line Drawing Language", A.J.
Frank, Proc Fall JCC 33 1968.

BLISS - Basic Language for Implementation of System Software.  W.A. Wulf,
CMU  ca. 1969.  An expression language, block-structured, and typeless,
with exception handling facilities, coroutines, a macro system, and a
highly optimizing compiler.  One of the first non-assembly languages for OS
implementation.  Gained fame for its lack of a goto.  Also lacks implicit
dereferencing: all symbols stand for addresses, not values.  "BLISS: A
Language for Systems Programming", W.A. Wulf et al, CACM 14(12):780-790
(Dec 1971).  Versions: CMU BLISS-10 for the PDP-10.  CMU BLISS-11, a cross
compiler for PDP-11 running on PDP-10, to support the C.mmp/Hydra project.

Blosim - Block-Diagram Simulator.  A block-diagram simulator. "A Tool for
Structured Functional Simulation", D.G. Messerschmitt, IEEE J on Selected
Areas in Comm, SAC-2(1):137-147, 1984.

BLOX - A visual language.

BLUE - Softech.  A language proposed to meet the DoD Ironman requirements
which led to Ada.  "On the BLUE Language Submitted to the DoD", E.W.
Dijkstra, SIGPLAN Notices 13(10):10-15 (Oct 1978).

BMASF - Basic Module Algebra Specification Language?  "Design of a
Specification Language by Abstract Syntax Engineering", J.C.M. Baeten et
al, in LNCS 490, pp.363-394.

BMDP - BioMeDical Package.  UCB, 1961.  Statistical language, first
implemented in FORTRAN for the IBM 7090.

BMF - Bird-Meertens Formalism.  A calculus for derivation of a functional
program from a given specification.  "A Calculus of Functions for Program
Derivation", R.S. Bird, in Res Topics in Fnl Prog, D. Turner ed, A-W 1990.

BNF - Backus Normal Form, later renamed Backus-Naur Form at the suggestion
of Donald Knuth.  A formalism to express the productions of context-free

BNR Pascal - "Remote Rendezvous", N. Gammage et al, Soft Prac & Exp
17(10):741-755 (Oct 1987.

Bob - David Betz.  A tiny object-oriented language.  Dr Dobbs J, Sep 1991,

BOEING - Early system on IBM 1103 or 1103A.  Listed in CACM 2(5):16 (May

Booster - Data parallel language.  "The Booster Language", E. Paalvast, TR
PL 89-ITI-B-18, Inst voor Toegepaste Informatica TNO, Delft, 1989.

BOSS - Bridgport Operating System Software.  Derivative of the ISO 1054
numerical machine control language for milling, etc.

Boxer - Hal Abelson and Andy diSessa, Berkeley.  A visual language, claims
to be the successor to Logo.  Boxes used to represent scope.


BRIDGE - Component of ICES for civil engineers.  Sammet 1969, p.616.

Bridgetalk - A visual language.

Brilliant - One of five pedagogical languages based on Markov algorithms,
used in "Nonpareil, a Machine Level Machine Independent Language for the
Study of Semantics", B. Higman, ULICS Intl Report No ICSI 170, U London
(1968).  (cf. Diamond, Nonpareil, Pearl[3], Ruby[2]).

BRUIN - Brown University Interactive Language.  Simple interactive language
with PL/I-like syntax, for IBM 360.  "Meeting the Computational
Requirements of the University, Brown University Interactive Language",
R.G. Munck, Proc 24th ACM Conf, 1969.

BSL - Variant of IBM's PL/S systems language.  Versions: BSL1, BSL2.

BUGSYS - Pattern recognition and preparing animated movies, for IBM 7094
and IBM 360. "BUGSYS: A Programming System for Picture Processing - Not for
Debugging", R.A. Ledley et al, CACM 9(2) (Feb 1966).

Burge's Language - Unnamed functional language based on lambda-calculus.
Recursive Programming techniques", W.H. Burge, A-W 1975.

Butterfly Common LISP - Parallel version of Common LISP for the BBN
Butterfly machine.

Butterfly Scheme - Parallel version of Scheme for the BBN Butterfly.

C - Dennis Ritchie, Bell Labs, ca. 1972.  Originally a systems language for
Unix on the PDP-11, briefly named NB.  Influenced by BCPL through
Thompson's B.  Terse, low-level and permissive.  Preprocessor.  C has
rapidly become the language most widely used for software implementation.
"The C Programming Language", Brian Kernighan & Dennis Ritchie, P-H 1978.

C* - Thinking Machines, 1987.  Superset of ANSI C, object-oriented, data-
parallel with synchronous semantics, for the Connection Machine.  Adds a
data type, the 'domain', and a selection statement for parallel execution
in domains.  J.R. Rose et al, "C*: An Extended C Language for Data Parallel
Programming", in Proc Second Intl Conf on Supercomputing, L.P. Kartashev et
al eds, May 1987, pp.2-16.  "C* Programming Manual", Thinking Machines
Corp, 1986.

C++ a class is a user-defined type, syntactically a struct with member
functions.  Constructors and destructors are member functions called to
create or destroy instances.  A friend is a nonmember function that is
allowed to access the private portion of a class.  C++ allows implicit type
conversion, function inlining, overloading of operators and function names,
and default function arguments.  It has streams for I/O and references.
"The C++ Programming Language", Bjarne Stroustrup, A-W, 1986.  (See G++).
ftp: for MS-DOS

C++ 2.0 - May 1989.  Multiple inheritance, type-safe linkage, pointers to
members, abstract classes.  "C++ 2.0 Draft Reference Manual"

C++ 2.1 - "Annotated C++ Reference Manual", B. Stroustrup et al, A-W 1990.

C++Linda - "The AUC C++Linda System", C. Callsen et al, U Aalborg, in
Linda-Like Systems and Their Implementation, G. Wilson ed, U Edinburgh TR
91-13, 1991.

C-10 - Improved version of COLINGO.  Sammet 1969, p.702.

CADET - Computer Aided Design Experimental Translator.  Sammet 1969, p.683.

CAGE - Early system on IBM 704.  Listed in CACM 2(5):16 (May 1959).

CAJOLE - Dataflow language.  "The Data Flow Programming Language CAJOLE: An
Informal INtroduction", C.L. Hankin et al, SIGPLAN Notices 16(7):35-44 (Jul

CAL - Course Author Language.  CAI language for IBM 360.  "Design of a
Programming Language for Computer Assisted Learning", F.M. Tonge, Proc IFIP
Congress 1968, v2.

Caliban - Kelly, Imperial College.  Declarative annotation language,
controlling the partitioning and placement of the evaluation of expressions
in a distributed functional language.  "Functional Programming for Loosely-


Calico - Bell Labs.  Object-oriented language.  IEEE Software, May 1991.

CAMAL - CAMbridge ALgebra system.  Symbolic math used in Celestial
Mechanics and General Relativity.  Implemented in BCPL on Titan.  "CAMAL
User's Manual", John P. Fitch, Cambridge U, England (1975).  "The Design of
the Cambridge Algebra System", S.R. Bourne et al, Proc 2nd Symp of Symb &
Alg Manip, SIGSAM 1971.

Camelot Library - "The Camelot Library", J. Bloch, in Guide to the Camelot
Distributed Transaction Facility: Release I, A.Z. Spector et al eds, CMU
1988, pp.29-62.

CAMIL - Computer Assisted/Managed Instructional Language.  Used for CAI at
Lowry AFB, CO.  "The CAMIL Programming Language", David Pflasterer, SIGPLAN
Notices 13(11):43 (Nov 1978).


  1. Categorical Abstract Machine Language.  G. Huet and G. Cousineau.  A
version of ML intermediate between LCF ML and SML.  Lazy data structures.
Built on the Categorical Abstract Machine.  "The CAML Reference Manual", P.
Weis et al, TR INRIA-ENS, 1989.
ftp:, Version 3.1

  2. Language for preparation of animated movies, listed [?] 1976.

CAML Light - Xavier Leroy.  CAML subset.  A small portable implementation,
uses a bytecode interpreter written in C.  Runs on Unix, MS-DOS, Macs and
Amiga.  Version: 0.4

Cantor - Object-oriented language with fine-grained concurrency.  Athas,
Caltech 1987.  "Multicomputers: Message Passing Concurrent Computers", W.
Athas et al, Computer 21(8):9-24 (Aug 1988)..

CASE SOAP III - Version of SOAP assembly language for IBM 650.  Listed in
CACM 2(5):16 (May 1959).

CAT - Common Abstract Tree Language.  R. Voeller & Uwe Schmidt, U Kiel,
Germany 1983.  Universal intermediate language, used by Norsk Data in their
family of compilers.  "A Multi-Language Compiler System with Automatically
Generated Codegenerators, U. Schmidt et al, SIGPLAN Notices 19(6):202-2121
(June 1984).

CATO - FORTRAN-like CAI language for PLATO system on CDC 1604.  "CSL PLATO
System Manual", L.A. Fillman, U Illinois, June 1966.

CAYLEY - Symbolic math system for group theory.  John Cannon, U Sydney,
Australia, 1976.  "An Introduction to the Group Theory Language CAYLEY", J.
Cannon, Computational Group Theory, M.D. Atkinson ed, Academic Press 1984,
pp.148-183.  Current version: V3.7 for Sun, Apollo, VAX/VMS.

CBASIC - Gordon Eubanks, now at Symantec.  A BASIC compiler.  Evolved
from/into EBASIC.

CCalc - Symbolic math for MS-DOS, available from Simtel.


  1. C{*filter*}Common LISP.

  2. Computer Control Language.  English-like query language based on
COLINGO, for IBM 1401 and IBM 1410.  

CCLU - Cambridge CLU.  G. Hamilton et al, CUCL.  CLU extended to support
concurrency, distributed programming, remote procedure calls.

CCP - Concurrent Constraint Programming.  Not a language, but a general

CCS - Calculus of Communicating Systems.  "A Calculus of Communicating
Systems", LNCS 92, Springer 1980.  "Communication and Concurrency", R.
Milner, P-H 1989.

CCSP - Based on CSP.  "Contextually Communicating Sequential Processes - A
Software Engineering Approach", M. Hull et al, Software Prac & Exp
16(9):845-864 (Sept 1986).


  1. Computer Definition Language.  A hardware description language.
"Computer Organization and Microprogramming", Y. Chu, P-H 1970.

  2. Command Defintion Language.  Portion of ICES used to implement
commands.  Sammet 1969, p.618-620.

  3. Compiler Definition Language.  "Using the CDL Compiler Compiler", in
C.H.A. Koster, pp.366-426.  Variant: CDLM used at Manchester.

  4. Common Design Language.  "Common Design Language", IBM, Software
Engineering Inst, Sept 1983.

Cedar - Superset of Mesa, adding garbage collection, dynamic types and a
universal pointer type (REF ANY).  A large complex language designed for
custom Xerox hardware and the Cedar OS/environment.  Data types: atoms,
lists, ropes ("industrial strength" strings), conditions.  Multiprocessing
features include threads, monitors, signals and catch phrases.  "A
Description of the Cedar Language", Butler Lampson, Xerox PARC, CSL-83-15
(Dec 1983).  "The Structure of Cedar", D. Swinehart et al, SIGPLAN Notices
20(7):230-244 (July 1985).

CELIP - A cellular language for image processing.  "CELIP: A cellular>, Parallel Computing 14:99-109 (1990).

CELLSIM - Modeling populations of biological cells.  "CELLSIM II User's
Manual", C.E. Donaghey, U Houston (Sep 1975).

CELP - Computationally Extended Logic Programming.  "Computationally
Extended Logic Programming", M.C. Rubenstein et al, Comp Langs 12(1):1-7

CESSL - CEll Space Simulation Language.  Simulating cellular space models.
"The CESSL Programming Language", D.R. Frantz, 012520-6-T, CS Dept, U
Michigan (Sept 1971).

CFD - Computational Fluid Dynamics.  FORTRAN-based parallel language for
the Illiac IV.

CFP - Communicating Functional Processes.  "Communicating Functional
Processes", M.C. van Eekelen et al, TR 89-3, U Nijmegen, Netherlands, 1989.

CGGL - ("seagull") Code-Generator Generator Language.  A machine-
description language based on modeling the computer as a finite-state
machine.  "A Code Generator Generator Language", M.K. Donegan et al,
SIGPLAN Notices 14(8):58-64 (Aug 1979).

CGOL - V.R. Pratt, 1977.  A package providing ALGOL-like surface syntax for
MACLISP.  "CGOL - An Alternative Exernal Representation for LISP Users", V.
Pratt, MIT AI Lab, Working Paper 89, 1976.

CHARITY -{*filter*}ett, Spencer, Fukushima, 1990-1991.  Functional language
based purely on category theory.  "About Charity", J.R.B.{*filter*}ett

CHARME - Bull, 1989.  A language with discrete combinatorial constraint
logic aimed at industrial problems such as planning and scheduling.
Implemented in C.  An outgrowth of ideas from CHIP.

CHARYBDIS - LISP program to display math expressions.  Related to MATHLAB.
Sammet 1969, p.522.

CHASM - CHeap ASseMbler.  Shareware assembler for MS-DOS.

CHILI - PL/I-like language for systems proramming.  "CHILI, An Algorithmic
Language for Systems Programming", CHI-1014, Chi Corp (Sep 1975).

CHILL - CCITT HIgh-Level Language.  ca. 1980.  Real-time language widely
used in European telecommunications.  "An Analytical Description of CHILL,
the CCITT High Level Language", P. Branquart, LNCS 128, Springer 1982.


  1. Early system on IBM 1103 or 1103A.  Listed in CACM 2(5):16 (May 1959).

  2. Constraint Handling In Prolog.  M. Dincbas, ECRC Munich 1985.
Includes boolean unification and a symbolic simplex-like algorithm.
Introduced the domain-variable model.  "The Constraint Logic Programming
Language CHIP", M. Dincbas et al, Proc 2nd Intl Conf on Fifth Generation
Computer Sys, Tokyo (Nov 1988), pp.249-264.  "Constraint Satisfaction in
Logic Programming", Van Hentenryck.  Available from COSYTEC, 4 rue Jean
Rostand, F91893 Orsay, France.

CHIP-48 - Reimplementation of CHIP-8 for the HP-48 calculator.  Andreas


CHIP-8 - RCA, Late 70's.  Low-level language (really a high-level machine
code) for video games on computers using RCA's CDP1802 processor: COSMAC
VIP, DREAM 6800 and ETI-660.  Now there's an interpreter for the Amiga.

CHOCS - Generalization of CCS.  "A Calculus of Higer-Order Communicating
Systems", B. Thomsen, 16th POPL pp.143-154 (1989).

CIEL - Object-oriented Prolog-like language.  "CIEL: Classes et Instances
En Logique", M. Gandriau, Thesis ENSEEIHT (1988).

CIL - Common Intermediate Language.  "Construction of a Transportable,
Milti-Pass Compiler for Extended Pascal", G.J. Hansen et al, SIGPLAN
Notices 14(8):117-126 (Aug 1979).

CIP-L - CIP Language.  (CIP stands for Computer-aided Intuition-guided
Programming.)  Wide-spectrum language for incremental program
transformation.  There are ALGOL-like and Pascal-like variants.  "The
Munich Project CIP, v.I: The Wide Spectrum Language CIP-L", LNCS 183,
Springer 1984.  Version: CIP85.

CIRCAL - "CIRCAL and the Representation of Communication, Concurrency and
TIme", G.J. Mitre, ACM TOPLAS 7(2):270-298 (1985).

CITRAN - Caltech's answer to MIT's JOSS.  Sammet 1969, p.217.

CL - Control Language.  Batch language for the IBM RPG/38, used in
conjunction with RPG III.  (See OCL).

CLAM - Symbolic math, especially General Relativity.  Implemented in ATLAS
assembly language first, LISP later.  "CLAM Programmer's Manual", Ray
d'Inverno & Russell-Clark, King's College London, 1971.  (See ALAM).

Clarion - MS-DOS 4GL.

CLASP - Subset of SPL[2].

Classic-Ada - Object-oriented extension to Ada, said to be Smalltalk-like.
Implemented as a preprocessor.

Clean - Subset of Lean.  Experimental lazy higher-order functional language
with no syntactic sugaring (not even infix expressions or complex lists.)
Also used as an intermediate language.  Implemented via graph rewriting on
the ABC abstract machine.  "Clean - A Language for Functional Graph
Rewriting", T. Brus et al, IR 95, U Nijmegen, Feb 1987.  (See Concurrent

CLEAR - Specification language based on initial algebras.  "An Informal
Introduction to Specification Using CLEAR", R.M. Burstall in The
Correctness Problem in Computer Science, R.S. Boyer et al eds, Academic
Press 1981, pp.185-213.

C-Linda - The most widely used variant of Linda, with C as the base


  1. Compiler Language for Information Processing.  1958-1959.  Based on
IAL, led to JOVIAL.  One of the first languages used to write its own
compiler.  Sammet 1969, p.635.

  2. Common LISP in Parallel.  Allegro.  Version for the Sequent Symmetry.

Clipper - Compiled dBASE dialect from Nantucket Corp, LA.  Versions:
Winter 85, Spring 86, Autumn 86, Summer 87, 4.5 (Japanese Kanji), 5.0.

CLIPS - C Language Integrated Production System.  NASA JSC.  A forward-
chaining rule-based language with LISP-like syntax that has the inferencing
and representation capabilities of OPS5.  A language for developing expert
systems, now with support for three paradigms: rule-based, object-oriented
and procedural.  Available for MS-DOS, comes with source code in C.

(512)258-0785.  Versions: CLIPS 5.1, CLIPS/Ada 4.3.  (See PCLIPS).

ftp: 4.20

CLIX - "Overview of a Parallel Object-Oriented Language CLIX", J. Hur et
al, in ECOOP '87, LNCS 276, Springer 1987, pp.265-273.

CLOS - Common LISP Object System.  Object-oriented extension to Common
LISP, based on generic functions, multiple inheritance, declarative method
combination and a meta-object protocol.  A descendant of CommonLoops.
"Common LISP Object System Specification X3J13 Document 88-002R", D.G.
Bobrow et al, SIGPLAN Notices 23 (Sep 1988).  (See PCL[2]).


  1. Cornell List Processor.  Extension of CORC for list processing.
Sammet 1969, p.461.

  2. Constraint Logic Programming.  A programming framework based (as
Prolog) on LUSH (or SLD) resolution, but in which unification has been
replaced by a constraint solver.  A CLP interpreter contains a Prolog-like
inference engine and an incremental constraint solver.  The engine sends
constraints to the solver one at a time.  If the new constraint is
consistent with the collected constraints it will be added to the set.  If
it was inconsistent, it will cause the engine to backtrack.  "Constraint
Logic Programming", J. Jaffar et al, 14th POPL, ACM 1987.

CLP(R) - Constraint Logic Programming (Real).  Joxan Jaffar

constraint-logic programming language with real-arithmetic constraints.  A
superset of Prolog.  "The CLP(R) Language and System", J. Jaffar et al, IBM
RR RC16292 (#72336) (Nov 1990).  Version: 1.1 for Unix systems.

CLP* - Derivative of CLP.  "CLP* and Constraint Abstraction", T. Hickey,
16th POPL, pp.125-133, 1989.

CLU - CLUster.  1974-1975.  CLU is an object-oriented language of the
Pascal family designed to support data abstraction, similar to Alphard.
Introduced the iterator: a coroutine yielding the elements of a data
object, to be used as the sequence of values in a 'for' loop.
    A CLU program consists of separately compilable procedures, clusters
and iterators, no nesting.  A cluster is a module naming an abstract type
and its operations, its internal representation and implementation.
Clusters and iterators may be generic.  Supplying actual constant values
for the parameters instantiates the module.
    There are no implicit type conversions.  In a cluster, the explicit
type conversions 'up' and 'down' change between the abstract type and the
representation.  There is a universal type 'any', and a procedure force[]
to check that an object is a certain type.  Objects may be mutable or
    Exceptions are raised using 'signal' and handled with 'except'.
Assignment is by sharing, similar to the sharing of data objects in LISP.
Arguments are passed by call-by-sharing, similar to call by value, except
that the arguments are objects and can be changed only if they are mutable.
CLU has own variables and multiple assignment.
    "CLU Reference Manual", Barbara Liskov et al, LNCS 114, Springer 1981.
ftp: - versions for Sun, VAX/VMS.

Cluster 86 - Shang, Nanjing U ca1986.  Distributed object-oriented
language.  A cluster is a metatype.  "Cluster: An Informal Report", L.

Versions for MS-DOS, Unix.

CMAY - "A Microkernel for Distributed Applications", R. Bagrodia et al,
Proc 5th Intl Conf Distrib Comp Sys IEEE 1985, pp.140-149.


  1. A query langauge.  "Towards a Knowledge Description Language", A.
Borgida et al, in On Knowledge Base Management Systems, J. Mylopoulos et al
eds, Springer 1986.

  2. Concurrent ML.  J. Reppy, Cornell 1990.  A concurrent extension of
SML/NJ, supporting dynamic thread creation and synchronous message passing
on typed channels.  Threads are implemented using first-class
continuations.  "CML: A Higher-Order Concurrent Language", John H. Reppy,
SIGPLAN Notices 26(6):293-305 (June 1991).

CMS-2 - General purpose language used for command and control applications
in the US Navy.  "CMS-2Y Programmers Reference Manual", M-5049, PDCSSA, San
Diego CA (Oct 1976).

CO2 - (a blend of C and O2).  Object-oriented database language.  GIP
Altair, Versailles, France.  Francois Bancilhon et al, in "Advances in
Object-Oriented Database Systems", K.R. Dittrich ed, LNCS 334, Springer

COBOL - COmmon Business Oriented Language.  1960.  CODASYL Committee, Apr
1960.  Simple computations on large amounts of data.  The most widely used
programming language today.  The natural language style is intended to be
largely self-documenting.  Introduced the record structure.  "Initial
Specifications for a Common Business Oriented Language" DoD, US GPO, Apr
1960.  Major revisions in 1968 (ANS X3.23-1968), 1974 (ANS X3.23-1974), and

COBOL-1961 Extended - Short-lived separation of COBOL specifications.
Sammet 1969, p.339.

CoCoA - [Symbolic math?  On a Radio Shack CoCo???  I have no idea.]

CODIL - COntext Dependent Information Language.  Early language for non-
numerical business problems.  "CODIL, Part1.  The Importance of
Flexibility", C.F. Reynolds et al, Computer J 14(3):217-220 (May 1971).

COFF - Common Object File Format.  Binary file format used by Unix System V
Release 3.

COGENT - COmpiler and GENeralized Translator.  Compiler writing language
with list processing features, for CDC 3600 and CDC 3800.  "COGENT
Programming Manual", J.C. Reynolds, ANL-7022, Argonne, Mar 1965.  Sammet
1969, p.638.  "An Introduction to the COGENT System", J.C. Reynolds, Proc
ACM 20th Natl Conf, 1965.

COGO - Co-ordinate geometry problems in Civil Engineering.  A subsystem of
ICES.  "Engineer's Guide to ICES COGO I", R67-46, CE Dept MIT (Aug 1967).

Coherent Parallel C - Data parallel language.  "Coherent Parallel C", E.
Felten et al in "Third Conf on Hypercube Concurrent Computers and Appls",
ACM, 1988, pp.440-450.

COIF - FORTRAN with interactive graphic extensions for circuit design, on
UNIVAC 1108.  "An Interactive Software System for Computer-Aided Design: An
Application to Circuit Projects", CACM 9(13) (Sep 1970).

COLASL - Early system for numerical prolems on IBM 7030.  Special character
set for input of natural math expressions.  Sammet 1969, pp.265-271.

COLD - A sugared version of COLD-K.

COLD-K - Formal design kernel language for describing (sequential) software
systems in intermediate stages of their design.  "An Introduction to COLD-
K", H.B.M. Jonkers in Algebraic Methods: Theory, Tools and Applications, M.
Wirsing et al eds, LNCS 394, Springer 1989, pp.139-205.

COLINGO - Compile On-LINe and GO.  MITRE Corp.  English-like query system
for IBM 1401.  "The COLINGO System Design Philosophy", Information System
Sciences, Proc Second Congress, 1965.  Sammet 1969, p.664.

COMAL - Benedict Loefstedt & Borge Christensen, 1973.  A language for
beginners, popular in Europe and Scandinavia.  Pascal-like structure added
to BASIC.  COMAL-80 has been adopted as an introductory language in
Denmark.  "Beginning COMAL", B. Christensen, Ellis Harwood 1982.  COMAL
User's Group, 5501 Groveland Terr, Madison WI 53716.  Version for Amiga.

COMIT - 1957-8.  The first string-handling and pattern-matching language,
designed for applications in natural language translation.  The user has a
workspace organized into shelves.  Strings are made of constituents
(words), accessed by subscript.  A program is a set of rules, each of which
has a pattern, a replacement and goto another rule.  "COMIT Programmer's
Reference Manual", V.H. Yngve, MIT Press 1961.  Sammet 1969, pp.416-436.

COMIT II - "Computer Programming with COMIT II", Victor H. Yngve, MIT
Press, 1963.

Comma - COMputable MAthematics.  Esprit project at KU Nijmegen.

COMMEN - L.J. Cohen.  Proc SJCC 30:671-676, AFIPS (Spring 1967).

Commercial Translator - English-like pre-COBOL language for business data
processing.  Sammet 1969, p.378.

Common LISP - An effort begun in 1981 to merge the MACLISP and INTERLISP
dialects of LISP.  The result is a large and complex language.  Lexical
binding, data structures using defstruct and setf, closures, multiple
values, types using declare, a variety of numerical types.  Function calls
allow optional, keyword and &rest arguments.   Generic sequence can either
be a list or an array.  Formatted printing using escape characters.
"Common LISP: The Language", Guy L. Steele, Digital Press 1984.
ftp:    CMU Common Lisp Version 16d

CommonLoops - "CommonLoops: Merging Lisp and Object-Oriented Programming",
D.G. Bobrow et al, SIGPLAN Notices 21(11):17-29 (Nov 1986).  (See CLOS,
ftp: - Pcl (Portable CommonLoops)

CommonObjects - "Inheritance and the Development of Encapsulated Software
Components", A. Snyder, Proc 20th Hawaii Conf on Sys Sci, pp.227-238

Compact COBOL - Subset of COBOL defined, but not published, ca. 1961.
Sammet 1969, p.339.

Compas Pascal - Predecessor of Turbo Pascal, by POLY Data of Denmark.
Later renamed POLY Pascal, and afterwards sold to Borland.

COMPASS - COMPrehensive ASSembler.  Assembly language on CDC machines.

Compel - COMpute ParallEL.  The first single-assignment language.  "A
Language Design for Concurrent Processes", L.G. Tesler et al, Proc SJCC
32:403-408, AFIPS (Spring 1968).

Compiler-Compiler - Early compiler generator for the Atlas, with its own
distinctive input language.  "The Compiler-Compiler", R.A. Brooker et al,
Ann Rev Automatic Programming 3:229-275, Pergamon 1963.

COMPL - "The COMPL Language and Operating System", A.G. Fraser et al,
Computer J 9(2):144-156 (1966).

COMPREHENSIVE - Early system on MIT's Whirlwind.  Listed in CACM 2(5):16
(May 1959).

COMPROSL - COMpound PROcedural Scientific Language.  Language for
scientists or engineers.  Sammet 1969, p.299-300.

Computer Animation Movie Language.  "A Computer Animation Movie Language
for Educational Motion Pictures", D.D. Weiner et al, Proc FJCC 33(2), AFIPS
(Fall 1968).

Computer Compiler - Proposed language for compiler design.  Sammet 1969,

Computer Design Language - ALGOL-like language for computer design.  "An
ALGOL-like Computer Dewsign Language", Y. Chu, CACM 8(10) (Oct 1965).

COMSL - COMmunication System Simulation Language.  "COMSL - A Communication
System Simulation Language", R.L. Granger, Proc FJCC 37 (1970).

COMTRAN - "Communications Computer Language COMTRAN", D.W. Clark et al,
RADC-TR-69-190, Rose Air Development Center, Griffiss AFB, NY (July 1969).
Sammet 1969, p.324, 331.

ConC - Concurrent extension of C based on DPN (decomposed Petri nets),
using 'handshake' and 'unit' constructs.  "ConC: A Language for Distributed
Real-Time Programming", V.K. Garg et al, Computer Langs 16(1):5-18 (1991).

CONCUR - "CONCUR, A Language for Continuous Concurrent Processes", R.M.
Salter et al, Comp Langs 5(3):163-189 (1981).

Concurrent C -

  1. Extension of C with rendezvous-based concurrency.  "Concurrent C",
N.H. Gehani et al, Soft Prac & Exp 16(9):821-844 (1986).  "The Concurrent C
Programming Language", N. Gehani et al, Silicon  Press 1989.  Versions for
most Unix systems available commercially from AT&T.

  2. Extension of C with asynchronous message passing.  [NOT the same as
above] "Concurrent C: A Language for Distributed Systems", Y. Tsujino et
al, Soft Prac & Exp 14(11):1061-1078 (Nov 1984).

Concurrent C++ - "Concurrent C++: Concurrent Programming with Class(es)",
N. Gehani, Bell labs 1986.

Concurrent Clean - An implementation of CFP.  A version of Clean for
loosely coupled parallel architectures.  Compiles to the PABC machine.
"Concurrent Clean", M.C. van Eekelen et al, TR 89-18, U Nijmegen,
Netherlands, 1989.
ftp:    simulator for Mac and Sun

Concurrent CLU - Hamilton, 1984.  "Preserving Abstraction in Concurrent
Programming", R. Cooper et al, IEEE Trans Soft Eng SE-14(2):258-263 (Feb

Concurrent Euclid - J.R. Cordy & R.C. Holt, U Toronto, 1980.  Subset of
Euclid ("Simple Euclid") with concurrent extensions.  Separate compilation,
modules, processes and monitors, signal and wait on condition variables.
'Converters' to defeat strong type checking, absolute addresses.  All
procedures and functions are re-entrant.  TUNIS (a Unix-like OS) is written
in Concurrent Euclid.  "Specification of Concurrent Euclid", J.R. Cordy &
R.C. Holt, Reports CSRI-115 & CSRI-133, CSRI, U Toronto, Jul 1980, rev. Aug
1981.  "Concurrent Euclid, The Unix System, and Tunis," R.C. Holt, A-W,

Concurrent LISP - "A Multi-Processor System for Concurrent Lisp", S.
Sugimoto et al, Proc 1983 Intl Conf parallel Proc, 1983 pp.135-143.

Concurrent Pascal - Brinch Hansen, 1972-75.  Extension of a Pascal subset,
Sequential Pascal.  The first language to support monitors.  Access to
hardware devices through monitor calls.  Also processes and classes.  "The
Programming Language Concurrent Pascal", Per Brinch Hansen, IEEE Trans Soft
Eng 1(2):199-207 (Jun 1975).

Guarded clauses and committed-choice [= dont-care] nondeterminism.  A
subset's been implemented, but not the full language.  "Concurrent Prolog:
Collected Papers", E. Shapiro, V.1-2, MIT Press 1987.  (See Mandala).

Lisp, for the Mayfly.  "Concurrent Scheme", R.R. Kessler et al, in Parallel

Sun, 19 Feb 1995 06:20:16 GMT  
 [ 1 post ] 

 Relevant Pages 

1. The Language List Version 1.8 - Part 9 of 9

2. The Language List Version 1.8 - Part 8 of 9

3. The Language List Version 1.8 - Part 7 of 9

4. The Language List Version 1.8 - Part 6 of 9

5. The Language List Version 1.8 - Part 5 of 9

6. The Language List Version 1.8 - Part 4 of 9

7. The language List Version 1.8 - Part 3 of 9

8. The Language List Version 1.8 - Part 1 of 9

9. The Language List - Version 2.4 (Part 1 of 11)

10. The Language List - Version 2.3 (Part 8 of 11)

11. The Language List - Version 2.3 (Part 6 of 11)


Powered by phpBB® Forum Software