The Language List - Version 2.3 (Part 2 of 11) 
Author Message
 The Language List - Version 2.3 (Part 2 of 11)

AQL - Picture query language, extension of APL.  "AQL: A Relational
Database Management System and Its Geographical Applications", F. Antonacci
et al, in Database Techniques for Pictorial Applications, A. Blaser ed,

ARCHI - A microarchitecture description language with C-like syntax,
intended for input to a one-pass firmware tool generator.  "A
Microarchitecture Description Language for Retargeting Firmware Tools",
J.F. Nixon et al, Proc 19th Ann Workshop Microprogramming (MICRO-19), 1986,

Arctic - Real-time functional language, used for music synthesis.  "Arctic:
A Functional Language for Real-Time Control", R.B. Dannenberg, Conf Record
1984 ACM Symp on LISP and Functional Prog, ACM.

ARES - Pictorial query language.  "A Query Manipulation System for Image
Data Retrieval", T. Ichikawa et al, Proc IEEE Workshop Picture Data
Description and Management, Aug 1980, pp.61-67.

Ariel - Array-oriented language for CDC 6400.  "Ariel Reference Manual", P.
Devel, TR 22, CC UC Berkeley, Apr 1968.

Argus - LCS, MIT.  A successor to CLU.  Supports distributed programming
through guardians (like monitors, but can be dynamically created) and
atomic actions (indivisible activity).  cobegin/coend.  "Argus Reference
Manual", B. Liskov et al., TR-400, MIT/LCS, 1987.  "Guardians and Actions:
Linguistic Support for Robust, Distributed Programs", B. Liskov

Ariel - An array-oriented language.  "A New Survey of the Ariel Programming
Language", P. Deuel, TR 4, Ariel Consortium, UC Berkeley (June 1972).

ARITH-MATIC - Alternate name for A-3.

ART - Real-time functional language, timestamps each data value when it was
created.  "Applicative Real-Time Programming", M. Broy, PROC IFIP 1983, N-

ARTSPEAK - Early simple language for plotter graphics.  "The Art of
Programming, ARTSPEAK", Henry Mullish, Courant Inst (Nov 1974).

ASDIMPL - ASDO IMPlementation Language.  A C-like language, run on
Burroughs' mainframe computers in the early 80's, and cross-compiled to
x86-based embedded processors.

ASDL - "ASDL - An Object-Oriented Specification Language for Syntax-
Directed Environments", M.L. Christ-Neumann et al, European Sof{*filter*}re Eng
Conf, Strasbourg, Sept 1987, pp.77-85.

ASF - An algebraic specification language.  "Algebraic Specification", J.A.
Bergstra et al, A-W 1989.

Had an influence on SMP and FORM.  Versions for Univac 1108 and VAX/VMS.

ASIS - Ada Semanic Interface Specification.  An intermediate representation
for Ada.  (See Diana.)

ASF - Algebraic Specification Formalism.  CWI.  Language for equational
specification of abstract data types.  "Algebraic Specification", J.A.
Bergstra et al eds, A-W 1989.

ASL - Algebraic Specification Language.  "Structured Algebraic
Specifications: A Kernel Language", M. Wirsing, Theor Comput Sci 42,
pp.123-249, Elsevier 1986.

ASM - Assembly language on CP/M machines (and a lot of others).

ASN.1 - Abstract Syntax Notation.  Data description language, designed for
the exchange of structured data over networks.  Derived from the 1984
standard CCITT X.408 used to describe the syntax of messages in the X.400
mail system.  Used by the Natl Center for Biotechnology Information.
CCITT, ITU TS X.208 (1988), ISO 8824.  "An Overview of ASN.1", G. Neufeld
et al, Computer Networks and ISDN Systems, 23(5):393-415 (Feb 1992).
Available from Logica, UK.  (See BER). [?]

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

ASpecT - Algebraic Specification of abstract data Types.  Strict functional
language that compiles to C.  Versions for Sun, Ultrix, NeXT, Mac, OS2/2.0,
linux, RS6000, Atari, Amiga.*

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 - MITRE Corp.  A language for the description of neural networks.
For use with the MIGRAINES neural network simulator.  Version: 6.0*

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.  MIL-spec language
for automatic testing of avionics equipment.  Replaced Gaelic and several
other test languages.  "IEEE Standard ATLAS Test Language", IEEE Std 416-
1976 and 416-1984.

Atlas Autocode - Autocode for the Ferranti Atlas, which may have been the
first commercial machine with hardware-paged virtual memory.  Whereas other
autocodes were basically symbolic assembly languges, Atlas Autocode was
high-level and block-structured, resembling a cross between fortran and
ALGOL 60.  It had call-by value, loops, declarations, complex numbers,
pointers, heap and stack storqage generators, dynamic arrays, extensible
syntax, etc.

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.

Autocode - Alick E. Glennie, 1952.  AUTOCODER was 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 705.

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).

AVA - A Verifiable Ada.  Michael Smith.  A formally defined subset of Ada,
under development.  "The AVA Reference Manual", M. Smith, TR64,
Computational Logic, Austin TX (June 1990).

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.

Avon - Dataflow language.  "AVON: A Dataflow Language", A. Deb, ICS 87,
Second Intl Conf on Supercomputing, v.3, pp.9-19 (ISI 1987).

AXIOM - IBM.  Commercially available subset of Scratchpad.  "Axiom - The
Scientific Computing System", R. Jenks et al, Springer 1992.

AXIS - H-P.  Algebraic language with user-definable syntax. [?]

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.  Used as the systems language on Honeywell's GCOS-3.
"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.

  3. Jean-Raymond Abrial.  Specification language similar to Z, but also
supports development of C code from specifications.  B Core UK, Magdalen
Centre, Oxford Science Park, Oxford OX4 4GA.

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

Babbage - GEC Marconi Ltd.  Low-level language, used on their OS4000
operating system.  The British videotext system Prestel is programmed in
Babbage.  Article in Datamation 10-12 years ago. [?]


  1. A subset of ALGOL 60, with many ALGOL W extensions.  "BABEL, A New
Programming Language", R.S. Scowen, Natl Phys Lab UK, Report CCU7, 1969.

  2. Mentioned in The Psychology of Computer Programming, G.M. Weinberg,
Van Nostrand 1971, p.241.

  3. 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).

BABYLON - Development environment for expert systems.*

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.  Richards 1969.  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.  "BCPL - The Language and its Compiler", Martin
Richards & Colin Whitby-Stevens, Cambridge U Press 1979.  (See OCODE,
        Oxford BCPL differed slightly: Test-Ifso-Ifnot, and section brackets in
place of $( $).

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).

BeBOP - Combines sequential and parallel logic programming, object-oriented
and meta-level programming.  Both "don't know" nondeterminism and stream
AND-parallelism.  Prolog theories are first order entities and may be
updated or passed in messages.  Implemented by translation to NU-Prolog and

BEGL - Back End Generator Language.  A code generator description language.
The input language for the back end generator BEG.  "BEG - A Generator for
Efficient Back Ends", H. Emmelmann et al, SIGPLAN Notices 24(7):227-237
(Jul 1989).  "BEG  - A Back End Generator - User Manual", H. Emmelmann

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,

BER - Basic Encoding Rules.  Provides a universal (contiguous)
representation of data values.  Used with ASN.1.

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.  

1983.  Object-oriented language with block structure, coroutines,
concurrency, strong typing, part objects, separate objects and classless
objects.  Central feature is a single abstraction mechanism called
"patterns", a generalization of classes, providing instantiation and
hierarchical inheritance for all objects including procedures and
processes.  "Object-Oriented Programming in the BETA Programming Language",
Ole Lehrmann et al, A-W June 1993, ISBN 0-201-62430-3.  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).

BLAZE - Single assignment language for parallel processing.  "The BLAZE
Language: A Parallel Language for Scientific Programming", P. Mehrotra

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).

Blazon - "From Blazon to postscript", Daniel V. Klein, LoneWolf Systems,
USENIX Symp on Very High Level Languages, Oct 1994.

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 (or allegedly,
"System Software Implementation Language, Backwards").  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.  DEC BLISS-32 for VAX/VMS.

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.
Also known as Squiggol.  "The Squiggolist", ed Johan Jeuring, published
irregularly by CWI Amsterdam.

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.

BNR Prolog - Constraint logic.

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.  Partly due
to its distribution with Unix, C became the language most widely used for
software implementation.
  K&R C - C as originally described.  "The C Programming Language", Brian
Kernighan & Dennis Ritchie, P-H 1978.
  ANSI C - Revision of C, adding function prototypes, structure passing and
assignment, and standardized library functions.  ANSI X3.159-1989.*
  GNU C - Many extensions: compound statement within an expression,
pointers to labels, local labels, nested functions, typeof operator,
compound and conditional expressions and casts allowed as lvalues, long
long ints, arrays of variable lengthmacros with variable number of
arguments, nonconstant initializers, constructor expressions, labeled
elements in initializers, case ranges, variable attributes.  "Using and
Porting GNU CC", R.M. Stallman, 16 Dec 1992.

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.  Version: 6.x

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,
default function arguments, and pass by reference.  It has streams for I/O.
"The C++ Programming Language", Bjarne Stroustrup, A-W 1986 (1st edition),
1991 (2nd edition). for MS-DOS for Unix
        draft ANSI C++ - X3J16 committee.  Exceptions.
        C++ release 2.0 - May 1989.  Added multiple inheritance, type-safe
linkage, pointers to members, abstract classes.  "C++ 2.0 Draft Reference
        C++ release 2.1 - Added nested types.  "The Annotated C++ Reference
Manual", M. Ellis et al, A-W 1990.
        C++ release 3.0 - Added templates.

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.

represents all data as a pointer to a self-described object.  Provides
multiple inheritance with delegation, with control over which methods come
from which delegated object.  Default methodologies.  Simple syntax, with
emphasis on graphics.  Originally used for prototyping of telecommunication
services.  "A Dynamic C-Based Object-Oriented System for Unix", S.

Language", J. Fleming, Dr Dobbs J, Oct 1993, pp.24-32.  Implementation for
SunOS, compiles to Vcode.  Unir Tech, (800)222-8647.

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

C with Classes - Short-lived predecessor to C++.  "Classes: An Abstract
Data Type Facility for the C Language", B. Stroustrup, CSTR-84 Bell Labs,
Apr 1980.  Also in SIGPLAN Notices (Jan 1982).

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

CAFE - "Job Control Languages: MAXIMOP and CAFE", J. Brandon, Proc BCS Symp
on Job Control Languages--Past Present and Future, NCC, Manchester, England

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-


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
dialect 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.

  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.6*

Candle - Language used in Scorpion environment development system.  Related
to IDL?*

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.

C/ATLAS - DoD test language, variant of ATLAS.

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.

CC++ - Compositional C++.  Extensions to C++ for compositional parallel

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 [Design?] Language.  A hardware description
language.  "Computer Organization and Microprogramming", Yaohan Chu, P-H

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

  3. Compiler Description Language.  C.H.A. Koster, 1969.  Intended for
implementation of the rules of an affix grammar by recursive procedures.  A
procedure may be a set of tree-structured alternatives, each alternative is
executed until one successfully exits.  Used in a portable COBOL-74
compiler from MPB, mprolog system from SzKI, and the Mephisto chess
computer.  "CDL: A Compiler Implementation Language", in Methods of
Algorithmic Language Implementation, C.H.A. Koster, LNCS 47, Springer 1977,
pp.341-351.  "Using the CDL Compiler Compiler", C.H.A. Koster, 1974.
Versions: CDL2 (used in an Algol 68 compiler at TU Berlin), CDLM used at

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

  5. Control Definition Language.  Ideas which contributed to Smalltalk.
"Control Structures for Programming Languges", David A. Fisher, PhD Thesis,
CMU 1970.

Cecil - Object-oriented language combining multi-methods with a classless
object model, object-based encapsulation, and optional static type
checking.  Distinguishes between subtyping and code inheritance.  Includes
both explicit and implicit parameterization of objects, types, and methods.
"The Cecil Language: Specification and Rationale", C. Chambers, TR 93-03-
05, U Wash (Mar 1993).

Cedar - Xerox PARC.  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.  Used to develop the Cedar integrated programming environment.  "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).

CEEMAC+ - Graphics language for DOS 3.3 on Apple ][.

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

CELLAS - CELLular ASsemblies.  A concurrent block-structured language.
Mentioned in Attribute Grammars, LNCS 323, Springer, p.97.

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

CESP - Common ESP. AI Language Inst, Mitsubishi - Object-oriented extension
of Prolog, a Unix-based version of ESP[3].

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.

CHAMIL - Sperry Univac.  A Pascal-like microprogramming language.  "CHAMIL
- A Case Study in Microprogramming Design", T.G. Weidner, SIGPLAN Notices
15(1):156-166 (Jan 1980).

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


  1. An explicitly parallel programming language based on C, for both
shared and nonshared MIMD machines.  "The CHARM(3.2) Programming Language
Manual", UIUC (Dec 1992)

  2. Peter Nowosad, 1990.  Block-structured imperative language, strongly
typed, with ideas borrowed from Pascal, C, RTL2 and ARM Assembler.  PD
compiler for the Acorn.  Review in Archive magazine?

CHARM++ - An object-oriented parallel programming system, similar to CHARM
but based on C++.  TR 1796, UIUC.

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.  Semantically
nondeterministic, with choice and backtracking, similar to Prolog.  "Charme
Reference Manual", AI Development Centre, Bull, France 1990.

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

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

CHI - A wide spectrum language, the forerunner of Refine.  "Research on
Knowledge-Based Software Environments at Kestrel Institute", D.R. Smith et
al, IEEE Trans Soft Eng, SE-11(11) (1985).

CHILI - D.L. Abt.  Language for systems programming, based on ALGOL 60 with
extensions for structure and type declarations.  "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.
"CHILL User's Manual", ITU, 1986, ISBN 92-61-02601-X.  CCITT/ISO/IEC
International Standard ISO/IEC 9496, Recommendation Z.200, ISBN 82-61-
03801-8 ("The Blue Book", 1988?).  Versions: CHILL-80, CHILL-84, CHILL-88.
Forthcoming compiler by Cygnus, based on gcc.


  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.
Constraint logic language, includes boolean unification and a symbolic
simplex-like algorithm.  Constraints over integers, rationals and booleans.
Symbolic constraints, cumulative constraints, and update demons.
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.  V4 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.

CHISEL - An extension of C for VLSI design, implemented as a C
preprocessor.  It produces CIF as output.  "CHISEL - An Extension to the
Programming language C for VLSI Layout", K. Karplus, PHD Thesis, Stanford
U, 1982.

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

CIAL - Interval constraint logic language.  Contains a linear Gauss-Seidel
constraint solver, in addition to the interval narrowing solver.
Implemented as an extension to CLP(R).  "Towards Practical Interval
Constraint Solving in Logic Programming", C.K. Chiu et al, TR, Chinese U
Hong Kong, 1994.  Version 1.0 (beta)

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

CIF - Caltech Intermediate Form.  Geometry language for VLSI design, in
which the primitives are colored rectangles.  Mead & Conway, "Introduction
to VLSI Systems", A-W 1980, Section 4.5.

Cigale - A parser generator language with extensible syntax.  "CIGALE: A
Tool for Interactive Grammar Construction and Expression Parsing", F.
Voisin, Sci Comp Prog 7:61-86 (1986).

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).

CIMS PL/I - Courant Institute of Mathematical Sciences PL/I.  A PL/I
subset.  "CIMS PL/I", P.W. Abrahams, Courant Inst.

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 - Computer Language for AeronauticS and Programming.  NASA.  Real-
time language with focus on fixed-point math.  Near subset of SPL[2], with
some ideas from PL/I.  "Flight Computer and Language Processor Study",
Raymond J. Rubey, Management Information Services, Detroit, 1971.

Classic-Ada - Object-oriented extension to Ada, said to be Smalltalk-like.
Implemented as an Ada 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, A-P 1981,

CLEO - Clear Language for Expressing Orders.  ICL, 1960's.  Used until
early 1972 on Leo III mainframes.

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 language for
developing expert systems, with the inferencing and representation
capabilities of OPS5, and support for three paradigms: forward chaining
rule-based, object-oriented and procedural.  LISP-like syntax.  Available
for MS-DOS, comes with source code in C.  COSMIC, U Georgia, (404) 542-

Principles and Programming", Joseph Giarratano and Gary Riley, PWS Publ
1994, ISBN 0-534-93744-6.  Versions: CLIPS 5.1, CLIPS/Ada 4.3, CLIPS6.0
(See PCLIPS). 4.20

CLISP - Conversational LISP.  A mixed English-like, Algol-like surface
syntax for Interlisp.  "CLISP: Conversational LISP", W. Teitelman, in Proc
Third Intl Joint Conf on AI, Stanford, Aug 1973, pp.686-690.

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.  List processing language, an extension of
CORC, used for simulation.  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, TJWRC & S.
Michaylov, Monash U, 1986.  A 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.2 for Unix, MS-DOS and OS/2, available from the author.

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

CLP(sigma*) - "CLP(sigma*): Constraint Logic Programming with Regular
Sets", C. Walinsky, Proc ICLP, 1989, pp.181-190.

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
immutable.  Garbage collection is built in.
    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.
        TED (a text editor), R (a document formatter), SWIFT (an operating
system), and lp (a proof tool used for formal specification) have been
written in CLU.
    "CLU Reference Manual", Barbara Liskov et al, LNCS 114, Springer 1981.* - versions for Sun, VAX/VMS.
    //* - portable version

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,
--Bill Kinnersley

226 Transfer complete.

Tue, 18 Feb 1997 20:12:58 GMT  
 [ 1 post ] 

 Relevant Pages 

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

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

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

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

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

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

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

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

9. The Language List Version 2.2 (Part 11 of 11)

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


Powered by phpBB® Forum Software