Startseite
des Instituts für Informatik, Universität Freiburg
Collected information on about 2350 computer languages, past and present.
Available online as:
http://cuiwww.unige.ch/langlist
ftp://wuarchive.wustl.edu/doc/misc/lang-list.txt
Maintained by:
Bill Kinnersley
Computer Science Department
University of Kansas
Lawrence, KS 66045
billk@cs.ukans.edu
Started Mar 7, 1991 by Tom Rombouts <tomr@ashtate.A-T.com>
This document is intended to become one of the longest lists of computer
programming languages ever assembled (or compiled). Its purpose is not to
be a definitive scholarly work, but rather to collect and provide the best
information that we can in a timely fashion. Its accuracy and completeness
depends on the readers of Usenet, so if you know about something that
should be added, please help us out. Hundreds of netters have already
contributed to this effort. We hope that this list will continue to evolve
as a useful resource available to everyone on the net with an interest in
programming languages.
"YOU LEFT OUT LANGUAGE ___!"
If you have information about a language that is not on this list,
please e-mail the relevant details to the current maintainer, as shown
above. If you can cite a published reference to the language, that will
help in determining authenticity.
What Languages Should Be Included
The "Published" Rule - A language should be "published" to be included
in this list. There is no precise criterion here, but for example a
language devised solely for the compiler course you're taking doesn't
count. Even a language that is the topic of a PhD thesis might not
necessarily be included. But if material on that language was published in
a technical journal or report, or if it formed the basis for additional
research, the language belongs in this list. A language does NOT have to
be implemented (actually running on at least one computer) to be included.
Many languages appearing in the ACM SIGPLAN Notices fall into this
category.
In general when there's any doubt, an entry will be included. Making
the list as complete as possible necessarily means there will be a large
number of obscure entries. To compensate for this "clutter" effect, more
widespread languages such as C or FORTRAN should have longer entries.
For historical completeness roughly 200 early pre-1959 "automatic
programming systems" were included, based on a list from CACM 2(5):16, May
1959. It can be argued that many of these are not really programming
languages as the term is used today. We've also included some formalisms
which are clearly not meant to be used as a source language for writing
programs: metalanguages such as BNF, intermediate languages such as P-Code,
and computational models such as Linda.
Dialects, Variants, Versions and Implementations
Computer languages evolve, and are related to one another in rather
complex ways. Almost every language can be regarded as an improved version
of something else. Sometimes it's hard to know where to draw the line and
say "this is a separate language". Taking LISP as an example, what started
out as a single language has evolved into a large family. Dialects (such
as Scheme and Common LISP) have major differences and are certainly
considered by their users to be distinct languages. Variants (such as
Kyoto Common LISP and Allegro CL) are primarily intended to be the same,
but have certain features which make them incompatible. Implementations
are designed to run on particular machines or operating systems and will
usually have special features added. Inevitably a series of revisions will
be issued, causing further small changes in the language. It has even been
suggested that if command line options are present, each choice of options
could be considered a distinct language!
A language's name by itself is not always an accurate guide to its
identity. Sometimes a language will undergo significant evolution without
any official change in name (e.g. SETL2 has done this). Sometimes just the
name will change (IAL to ALGOL to ALGOL 58). And occasionally a name has
been used for several distinct languages (e.g. Vulcan).
It may also be debatable what is "in" a language and what is not. For
example SML is defined in stages: a "core syntax" surrounded by a standard
set of extensions. Technically that makes it two separate languages.
Other languages have purposely omitted essential features like I/O from
their definition because they were never intended to be used without a
standard library (C) or interface (Smalltalk-80), or because they
constitute the command language for a particular product or system. Still
other languages are by their very nature extensible, and the large number
of macro packages built on TeX for example could be called an endless list
of separate "languages".
Brand names - You might wonder why we do include a number of commercial
products such as Turbo Pascal. Usually these items offer non-standard
extensions to the base language. This has been particularly true in the
varieties of BASIC and Prolog. But also one could argue that in a strict
sense Microsoft C and Turbo C for example are distinct languages.
Another reason for including entries of this type is that many languages
are proprietary, appearing only in a certain product. Such languages may
be distinctive and interesting and deserve to be here. On the other hand
we don't want the list to become a catalog of commercial programming
products.
What Each Entry Should Contain
Name: An explanation of the language name, which in perhaps 80% of the
cases is some form of acronym or abbreviation.
Date of origin: The year when a language first appeared. Since the
design, implementation and distribution of a language can take place over a
period of several years, such dates are often approximate. Any language
that has an ANSI, ISO or BSI standard should include the date approved.
For specific brands such as Turbo Pascal the release dates of each version
can be listed.
Reference: At least one reference work on the language, as definitive or
as official as possible.
Availability: ftp site, commercial source or publisher, contacts for
further information.
"See also:" Related languages or terms that may also be of interest.
Any material marked with brackets "[]" is doubtful and may be considered
a request for further information.
Editorial Comments - What constitutes a good language has often become
the subject of intense debate. We've tried to avoid adding to this by
avoiding any remarks that are subjective, such as calling a language
"powerful". Nevertheless some comments might still be construed this way.
For instance saying that Pascal is "ALGOL-like" could offend both some
ALGOL and some Pascal users. Also, some questions of historical origin are
not universally agreed upon.
Classification - It's been suggested that the languages in this list
should be arranged into categories, but to do so would be extremely
difficult. For every classification scheme there wlll be a large
proportion of languages that do not fit. The languages are therefore
listed alphabetically, and in fact we think that this is the most useful
organization. You'll find that the following categories have been referred
to in the list, but we must emphasize that most languages are not purely
one or the other, and we are really categorizing language features.
Imperative language
A language which operates by a sequence of commands that change the
value of data elements. Typified by assignments and iteration.
Declarative language
A language which operates by making descriptive statements about data
and relations between data. The algorithm is hidden in the semantics of
the language. This category encompasses both applicative and logic
languages. Examples of declarative features are set comprehensions and
pattern-matching statements.
Procedural language
A language which states how to compute the result of a given problem.
Encompasses both imperative and functional languages.
Applicative language
A language that operates by application of functions to values, with no
side effects. A functional language in the broad sense.
Functional language
In the narrow sense, a functional language is one that operates by use
of higher-order functions, building operators that manipulate functions
directly without ever appearing to manipulate data. Example: FP.
Definitional language
An applicative language containing assignments interpreted as
definitions. Example: Lucid.
Single Assignment language
An applicative language using assignments with the convention that a
variable may appear on the left side of an assignment only once within the
portion of the program in which it is active.
Dataflow language
A language suitable for use on a dataflow architecture. Necessary
properties include freedom from side effects, and the equivalence of
scheduling constraints with data dependencies. Examples: Val, Id, SISAL,
Lucid.
Logic language
A logic language deals with predicates or relationships p(X,Y). A
program consists of a set of Horn clauses which may be:
facts - p(X,Y) is true
rules - p is true if q1 and q2 and ...qn are true
queries - is g1 and g2 and ...gn true? (gi's are the goals.)
Further clauses are inferred using resolution. One clause is selected
containing p as an assumption, another containing p as a consequence, and p
is eliminated between them. If the two p's have different arguments they
must be unified, using the substitution with the fewest constraints that
makes them the same.
Logic languages try alternative resolutions for each goal in
succession, backtracking in a search for a common solution. OR-parallel
languages try alternative resolutions in parallel, while AND-parallel
languages try to satisfy several goals in parallel.
Constraint language
A language in which a problem is specified and solved by a series of
constraining relationships.
Object-Oriented language
A language in which data and the functions which access it are treated
as a unit.
Concurrent language
A concurrent language describes programs that may be executed in
parallel. This may be either
multiprogramming: sharing one processor
multiprocessing: separate processors sharing one memory
distributed
Concurrent languages differ in the way that processes are created:
coroutines - control is explicitly transferred - Simula I, SL5, BLISS,
Modula-2.
fork/join - PL/I, Mesa
cobegin/coend - ALGOL 68, CSP, Edison, Argus
process declarations - DP, SR, Concurrent Pascal, Modula, PLITS, Ada
and the ways in which processes interact:
semaphores - ALGOL 68
conditional critical regions - Edison, DP, Argus
monitors - Concurrent Pascal, Modula
message passing - CSP, PLITS, Gypsy, Actors
remote procedure calls - DP, *Mod
rendezvous - Ada, SR
atomic transactions - Argus
Fourth generation language (4GL's)
A very high-level language. May use natural English or visual
constructs. Algorithms or data structures may be chosen by the compiler.
Query language
An interface to a database.
Specification language
A formalism for expressing a hardware or software design.
Assembly language
A symbolic representation of the machine language of a specific
computer.
Intermediate language
A language used as an intermediate stage in compilation. May be either
text or binary.
Metalanguage
A language used for formal description of another language.
* * * * * * *
2.PAK - AI language with coroutines. "The 2.PAK Language: Goals and
Description", L.F. Melli, Proc IJCAI 1975.
20-GATE - Carnegie, ca 1965. Algebraic language for the G-20.
3-LISP - Brian Smith. A procedurally reflective dialect of LISP which uses
an infinite tower of interpreters. "The Implementation of Procedurally
Reflective Languages", J. des Rivi et al, ACM J Lisp and Functional
Programming, pp.331-347 (1984).
473L Query - English-like query language for Air Force 473L system. Sammet
1969, p.665. "Headquarters USAF Command and Control System Query
Language", Info Sys Sci, Proc 2nd Congress, Spartan Books 1965, pp.57-76.
9PAC - 709 PACkage. 1959. Report generator for IBM 7090. Sammet 1969,
p.314. "IBM 7090 Prog Sys, SHARE 7090 9PAC Part I: Intro and Gen Princs",
IBM J28-6166, White Plains, 1961.
*LISP - ("StarLISP") Cliff Lasser, Jeff Mincy, J.P. Massar, Thinking
Machines Corp. A data-parallel extension of Common LISP for the Connection
Machine, uses 'pvars'. "The Essential *LISP Manual", TM Corp 1986.
ftp://think.com/public/cm/starlisp/*
info: customer-support@think.com
documentation-order@think.com
*MOD - ("StarMOD") Concurrent language combining the modules of Modula and
the communications of Distributed Processes. "*MOD - A Language for
Distributed Programming", R.P. Cook, IEEE Trans Soft Eng SE-6(6):563-571
(Nov 1980).
A# - Object-oriented and functional, a separable component of Version 2 of
the AXIOM computer algebra system. Both types and functions are first
class values. Designed for compilation to efficient machine code.
A+ - Dialect of APL used at Morgan-Stanley.
A0 or A-0 - Grace Hopper's team at Remington Rand, 1952, for the UNIVAC I
or II. Possibly the first compiler ever. Later internal versions: A-1, A-
2 ("The A-2 Compiler System", Rem Rand, 1955), A-3, AT-3. AT-3 was
released as MATH-MATIC. Sammet 1969, p.12.
AACC - Language for building finite state automata. [?]
AADL - Axiomatic Architecture Description Language. "AADL: A Net-Based
Specification Method for Computer Architecture Design", W. Damm et al in
Languages for Parallel Architectures, J.W. deBakker ed, Wiley 1989.
ABC -
1. Leo Geurts, Lambert Meertens, Steven Pemberton. Simple interactive
language designed for quick easy programming. Includes a programming
environment with syntax-directed editing, suggestions, persistent variables
and multiple workspaces and infinite precision arithmetic. "An Alternative
Simple Language and Environment for PC's", S. Pemberton, IEEE Software
4(1):56-64 (Jan 1987). "The ABC Programmer's Manual", Leo Geurts et al, P-
H 1989.
ftp://ftp.uu.net/languages/abc/*
info: abc@cwi.nl
list: abc-list@cwi.nl maintained by Steven Pemberton <abc-list-
request@cwi.nl>.
2. (A="argument",B="basic value",C=?). Intermediate language for the ABC
abstract machine for implementation of functional languages, similar to the
spineless tagless G-machine. "Compiling Clean to Abstract ABC-Machine
Code", J.E.W. Smetsers, TR 89-20, U Nijmegen 1989. "The ABC-Machine: A
Sequential Stack-Based Abstract Machine for Graph Rewriting", P. Koopman et
al, TR 88-1, U Nijmegen 1988. Functional Programming and Parallel Graph
Rewriting, Rinus Plasmeijer et al, A-W 1993, ISBN 0201416638.
ABC ALGOL - An extension of ALGOL 60 with arbitrary data structures and
user-defined operators, for symbolic math. "ABC Algol, A Portable Language
for Formula Manipulation Systems", R.P. van de Riet, Amsterdam Math Centrum
1973.
ABCL/1 - An Object-Based Concurrent Language. Yonezawa, U Tokyo 1986.
Language for the ABCL concurrent (MIMD) system. Asynchronous message
passing to objects. Implementations in KCL and Symbolics LISP available
from the author. "ABCL: An Object-Oriented Concurrent System", A. Yonezawa
ed, MIT Press 1990.
ftp://camille.is.s.u-tokyo.ac.jp/pub/acbl1/*
info: matsu@is.s.u-tokyo.ac.jp
ABCL/c+ - Concurrent object-oriented language, an extension of ABCL/1 based
on C. "An Implementation of An Operating System Kernel using Concurrent
Object Oriented Language ABCL/c+", N. Doi et al in ECOOP '88, S. Gjessing
et al eds, LNCS 322, Springer 1988.
ABCL/R - Yonezawa, Tokyo Inst Tech 1988. A reflective subset of ABCL/1,
written in ABCL/1. "Reflection in an Object-Oriented Concurrent Language",
T. Watanabe et al, SIGPLAN Notices 23(11):306-315 (Nov 1988).
ftp://camille.is.s.u-tokyo.ac.jp/pub/abclr/*
ABCL/R2 - Yonezawa et al, Tokyo Inst Tech 1992. A reflective concurrent
object-oriented language, based on Hybrid Group Architecture. Provides
almost all the functionality of ABCL/1. Written in Common LISP.
ftp://camille.is.s.u-tokyo.ac.jp/pub/abclr2/*
Abel - HP Labs. Strongly-typed object-oriented language with contravariant
semantics. Inherited interfaces are not required to be subtypes.
info: Walter Hill <whill@netcom.com>
ABLE - Simple language for accountants. "ABLE, The Accounting Language,
Programming and Reference Manual," Evansville Data Proc Center, Evansville,
IN, Mar 1975. Listed in SIGPLAN Notices 13(11):56 (Nov 1978).
ABSET - U Aberdeen. Early declarative language. "ABSET: A Programming
Language Based on Sets", E.W. Elcock et al, Mach Intell 4, Edinburgh U
Press, 1969, pp.467-492.
ABSYS 1 - U Aberdeen. Early declarative language, anticipated a number of
features of Prolog. "ABSYS 1: An Incremental Compiler for Assertions",
J.M. Foster et al, Mach Intell 4, Edinburgh U Press, 1969, pp.423-429.
Accent - Very high level interpreted language with strings, tables, etc.
Strongly typed, remote function calls. CaseWare Inc.
Access - English-like query language used in the Pick OS.
ACL - A Coroutine Language. A Pascal-based implementation of coroutines.
"Coroutines", C.D. Marlin, LNCS 95, Springer 1980.
ACOM - Early system on IBM 705. Listed in CACM 2(5):16 (May 1959).
ACOS - BBS language for PRODOS 8 on Apple ][. Macos is a hacked version of
ACOS.
ACP - Algebra of Communicating Processes. "Algebra of Communicating
Processes with Abstraction", J.A. Bergstra & J.W. Klop, Theor Comp Sci
37(1):77-121 (1985). (compare CCS).
ACT++ - Concurrent extension of C++ based on actors. "ACT++: Building a
Concurrent C++ With Actors", D.G. Kafura TR89-18, VPI, 1989.
ACT ONE - Specification language. "An Algebraic Specification Language
with Two Levels of Semantics", H. Ehrig et al, Tech U Berlin 83-03 Feb
1983.
Act1 - An actor language, descendant of Plasma. "Concurrent Object
Oriented Programming in Act1", H. Lieberman in Object Oriented Concurrent
Programming, A. Yonezawa et al eds, MIT Press 1987.
Act2 - An actor language. "Issues in the Design of Act2", D. Theriault,
TR728, MIT AI Lab, June 1983.
Act3 - High-level actor language, descendant of Act2. Provides support for
automatic generation of customers and for delegation and inheritance.
"Linguistic Support of Receptionists for Shared Resources", C. Hewitt et al
in Seminar on Concurrency, S.D. Brookes et al eds, LNCS 197, Springer 1985,
pp. 330-359.
Actalk - Briot, 1989. Smalltalk-based actor language. "Actalk: A Testbed
for Classifying and Designing Actor Languages in the Smalltalk-80
Environment", J-P. Briot, Proc ECOOP '89, pp.109-129.
Active Language I - Early interactive math, for XDS 930 at UC Berkeley.
"Active Language I", R. de Vogelaere in ACM Symposium on Interactive
Systems for Experimental Applied Mathematics, M. Klarer et al eds, A-P
1968.
Actor - Charles Duff, Whitewater Group, ca 1986. Object-oriented language
for Microsoft Windows. Pascal/C-like syntax. Uses a token-threaded
interpreter. Early binding is an option. "Actor Does More than Windows",
E.R. Tello, Dr Dobb's J 13(1):114-125 (Jan 1988). Version 4. Now
supported by Genesis Development Systems, (800) OKACTOR.
list:ACTOR-L@hearn.nic.surfnet.nl
http://www.cs.rulimburg.nl/~plugge/actor-l
ftp://bommel.cs.rulimburg.nl:/pub/actor-l
Actors - C. Hewitt. A model for concurrency. "Laws for Communicating
Parallel Processes", C. Hewitt et al, IFIP 77, pp. 987-992, N-H 1977.
"ACTORS: A Model of Concurrent Computation in Distributed Systems", Gul A.
Agha <agha@cs.uiuc.edu>, Cambridge Press, MA, 1986.
Actra - An exemplar-based Smalltalk. LaLonde et al, OOPSLA '86.
Actus - Pascal with parallel extensions, similar to the earlier Glypnir.
Parallel constants, index sets. Descendants include Parallel Pascal,
Vector C, and CMU's recent language PIE. "A Language for Array and Vector
Processors," R.H. Perrott, ACM TOPLAS 1(2):177-195 (Oct 1979).
Ada - (named for Ada Lovelace (1811-1852), arguably the world's first
computer programmer.) Jean Ichbiah's team at CII Honeywell, for the U.S.
Department of Defense, 1979. Ada is a large, complex block-structured
language aimed primarily at embedded computer applications. It has
facilities for real-time response, concurrency, hardware access, and
reliable run-time error handling. In support of large-scale software
engineering, it emphasizes strong typing, data abstraction and
encapsulation. The type system uses name equivalence and includes both
subtypes and derived types. Both fixed and floating point numerical types
are supported.
Control flow is fully bracketed: if-then-elsif-end if, case-is-when-end
case, loop-exit-end loop, goto. Subprogram parameters are in, out, or
inout. Variables imported from other packages may be hidden or directly
visible. Operators may be overloaded, and so may enumeration literals.
There are user-defined exceptions and exception handlers.
An Ada program consists of a set of packages encapsulating data objects
and their related operations. A package has a separately compilable body
and interface. Ada permits generic packages and subroutines, possibly
parametrized.
Ada programming places a heavy emphasis on multitasking. Tasks are
synchronized by the rendezvous, in which a task waits for one of its
subroutines to be executed by another. The conditional entry makes it
possible for a task to test whether an entry is ready. The selective wait
waits for either of two entries or waits for a limited time.
"Reference Manual for the Ada Programming Language", ANSI/MIL STD
1815A, U.S. DoD (Jan 1983). Earlier draft versions appeared in July 1980
and July 1982. ANSI 9183, ISO 1987. Russian: GOST 27831-88.
info: adainfo@ajpo.sei.cmu.edu
ftp repository: wsmr-simtel20.army.mil
ftp info: ajpo.sei.cmu.edu
ftp interpreters: stars.rosslyn.unisys.com:pub/ACE_8.0, for SunOS
AdaEd compiler/interpreter for Unix, MS-DOS, Atari ST, Amiga
wuarchive.wustl.edu:amiga/languages/ada/AdaEd1.11.0a.bin.lzh for Amiga
cs.nyu.edu:pub/adaed
Ada-83 - The original Ada, as opposed to Ada 9X.
Ada 9X - Revision and extension of Ada begun in 1988, currently under
development. Additions include object-orientation (tagged types, abstract
types and class-wide types), hierarchical libraries, and synchronization
with shared data (protected types) similar to Orca. Lacks multiple
inheritance. "Introducing Ada 9X", J.G.P. Barnes, Feb 1993.
ftp://ajpo.sei.cmu.edu/public/ada9x/*
mailing list: Chris Anderson <anderson@uv4.eglin.af.mil> (Ada 9X Project
Manager)
Ada++ - Object-oriented extension to Ada, implemented as an Ada
preprocessor.
Ada' - ORA. Subset of Ada used by the Penelope verification system. Omits
tasking, generics, fixed and floating point. "Formal Verification of Ada
Programs", D. Guaspari et al, IEEE Trans Soft Eng 16(9):1058-1075 (Sept
1990).
ADAM - A DAta Management system.
Ada-O - U Karlsruhe, 1979. Ada subset used for compiler bootstrapping.
Lacks overloading, derived types, real numbers, tasks and generics.
"Revised Ada-O Reference Manual", G. Persch et al, U Karlsruhe, Inst fur
Infor II, Bericht Nr 9/81.
Adaplex - An extension of Ada for functional databases. "Adaplex:
Rationale and Reference Manual 2nd ed", J.M. Smith et al, Computer Corp
America, Cambridge MA, 1983.
ADAPT - Subset of APT. Sammet 1969, p.606.
AdaTran - Name given informally to an Ada subset and coding style
reminiscent of the worst examples of Fortran, incomprehensible and full of
GOTO's. The ENCORE Project at GE Corporate Research used this term for the
output of their Fortran-to-Ada translator. ENCORE (ENvironment for COde
RE-engineering) was a system for turning AdaTran into readable Ada.
ADD 1 TO COBOL GIVING COBOL - Bruce Clement. Tongue-in-cheek suggestion
for an object-oriented COBOL. SIGPLAN Notices 27(4):90-91 (Apr 1992).
ADELE - Language for specification of attribute grammars, used by the MUG2
compiler compiler. "An Overview of the Attribute Definition Language
ADELE", H. Ganziger in GI3, Fachesprach "Compiler-Compiler", W. Henhapl ed,
Munchen Mar 1982, pp.22-53.
ADES - Early system on IBM 704. Listed in CACM 2(5):16 (May 1959).
Version: ADES II.
ADL -
1. Adventure Definition Language. Ross Cunniff <cunniff@fc.hp.com> & Tim
Brengle, 1987. An adventure language, semi-object-oriented with LISP-like
syntax. A superset of DDL. Available for Unix, MS-DOS, Amiga and Acorn.
ftp://ftp.uu.net/usenet/comp.sources.games/volume2
//wuarchive.wustl.edu/systems/amiga/fish/fish/f0/ff091
2. Ada Development Language. R.A. Lees, 1989.
3. Assertion Definition Language. Sun Labs, for the Japanese Ministry of
Trade. Language for automated generation of interface tests.
ftp://ftp.uu.net/vendor/adl/release
AdLog - Adds a Prolog layer to Ada. "AdLog, An Ada Components Set to Add
Logic to Ada", G. Pitette, Proc Ada-Europe Intl Conf Munich, June 1988.
ADM - Picture query language, extension of Sequel2. "An Image-Oriented
Database System", Y. Takao et al, in Database Techniques for Pictorial
Applications, A. Blaser ed, pp.527-538.
ADS - Expert system.
ADVSYS - David Betz, 1986. An adventure language, object-oriented and
LISP-like.
ftp://ftp.uu.net/usenet/comp.sources.games/volume2
AE - Application Executive. Brian Bliss <bliss@sp64.csrd.uiuc.edu> An
embeddable language, written as a C interpreter.
ftp://sp2.csrd.uiuc.edu/pub/bliss/ae.tex.Z
AED - Automated Engineering Design (aka ALGOL Extended for Design). MIT
System Laboratory ca 1965 by a team led by Douglas T. Ross (now at
Softech). Systems language for IBM 7090 and 360, an extension of ALGOL-60
with records ("plexes"), pointers, and dynamic allocation. DYNAMO II was
written in AED, as was the first BCPL compiler. "The Automated Engineering
Design (AED) Approach to Generalized Computer-Aided Design", D.T. Ross,
Proc ACM 22nd Natl Conf, 1967. Sammet 1969 and 1978. Versions: AED-0,
AED-1, AED-JR.
Aeolus - Concurrent language with atomic transactions. "Rationale for the
Design of Aeolus", C. Wilkes et al, Proc IEEE 1986 Intl Conf Comp Lang,
IEEE 1986, pp.107-122.
AESOP - An Evolutionary System for On-line Programming. Early interactive
query system with light pen for IBM 1800. "AESOP: A Final Report: A
Prototype Interactive Information Control System", J.K. Summers et al, in
Information System Science and Technology, D. Walker ed, 1967. Sammet
1969, p.703.
AFAC - Early system on IBM 704. Listed in CACM 2(5):16 (May 1959).
AGORA - Distributed object-oriented language.[?]
AHDL - Analog VHDL. US Air Force, under development. Mentioned in
Electronic Times or Electronic Engineering Design[?] IEEE 1076.1
AHPL - A Hardware Programming Language. Hill & Peterson. A register-level
language, some of whose operators resemble APL. "Digital Systems: Hardware
Organization and Design", F. Hill et al, Wiley 1987. HPSIM2: a function-
level simulator, available from Engrg Expt Sta, U Arizona.
AID - Algebraic Interpretive Dialogue. Version of Joss II for the PDP-10.
"AID (Algebraic Interpretive Dialogue)", DEC manual, 1968.
AIDA -
1. M. Gfeller. A functional dialect of Dictionary APL. "APL Arrays and
Their Editor", M. Gfeller, SIGPLAN Notices 21(6):18-27 (June 1986) and
SIGAPL Conf Proc [?]
2. Karlsruhe, 1980. An intermediate representation language for Ada, was
merged with TCOL.Ada to form Diana. "AIDA Introduction and User Manual",
M. Dausmann et al, U Karlsruhe, Inst fur Inform II, TR Nr 38/80. "AIDA
Reference Manual", ibid, TR Nr 39/80, Nov 1980.
AIMACO - AIr MAterial COmmand compiler. Modification of FLOW-MATIC.
Supplanted by COBOL. Sammet 1969, p.378.
AGP-L - Language for natural language recognition. [?]
AKCL - Austin Kyoto Common LISP. Wm Schelter <wfs@math.utexas.edu>, U
Texas, 1987-1994. Enhancements to KCL. In 1994, AKCL was renamed Gnu CL.
ftp://rascal.ics.utexas.edu/pub/akcl-1-625.tar.Z
AKL - Andorra Kernel Language. Successor of KAP. "Programming Paradigms
of the Andorra Kernel Language", S. Janson <sverker@sics.se> et al in Logic
Programming: Proc 1991 Intl Symp, MIT Press 1991. Prototype implementation
available from the author.
AL - Assembly Language. Stanford U, 1970's. Language for industrial
robots. "The AL Language for an Intelligent Robot", T. Binford in Langages
et Methods de Programation des Robots Industriels, pp.73-88, IRIA Press
1979. "AL User's Manual", M.S. Mujtaba et al, Stanford AI Lab, Memo
AIM-323 (Jan 1979).
ALADIN -
1. A Language for Attributed DefINitions. A language for formal
specification of attributed grammars. Input language for the GAG compiler
generator. Applicative, strongly typed. "GAG: A Practical Compiler
Generator", Uwe Kastens <uwe@uni-paderborn.de> et al, LNCS 141, Springer
1982.
2. Interactive math for IBM 360. "A Conversational System for
Engineering Assistance: ALADIN", Y. Siret, Proc Second Symp Symb Algebraic
Math, ACM Mar 1971.
ALAM - Atlas LISP Algebraic Manipulation. Symbolic math, especially for
General Relativity. "ALAM Programmer's Manual", Ray D'Inverno, 1970. (See
CLAM).
A-language. An early Algol-like surface syntax for Lisp. "An Auxiliary
Language for More Natural Expression--The A-language", W. Henneman in The
Programming Language LISP, E.C. Berkeley et al eds, MIT Press 1964, pp.239-
248.
ALC - Assembly Language Compiler. Alternative name for IBM 360 assembly
language. (cf. BAL).
Alcool-90 - An object-oriented extension of ML with runtime overloading and
a type-based notion of modules, functors and inheritance. Built on CAML
Light.
ftp://ftp.inria.fr/INRIA/lang/alcool/*
info: Francois Rouaix <rouaix@inria.fr>
ALCOR - Subset of ALGOL. Sammet 1969, p.180.
Aldat - Database language, based on extended algebra. Listed by M.P.
Atkinson & J.W. Schmidt in a tutorial in Zurich, 1989. [?]
ALDES - ALgorithm DEScription. "The Algorithm Description Language ALDES",
R.G.K. Loos, SIGSAM Bull 14(1):15-39 (Jan 1976).
ALDiSP - Applicative Language for Digital Signal Processing. 1989, TU
Berlin. Functional language with special features for real-time I/O and
numerical processing. "An Applicative Real-Time Language for DSP-
Programming Supporting Asynchronous Data-Flow Concepts", M. Freericks
<mfx@cs.tu-berlin.de> in Microprocessing and Microprogramming 32, N-H 1991.
ALEC - A Language with an Extensible Compiler. Implemented using RCC on an
ICL 1906A. "ALEC - A User Extensible Scientific Programming Language",
R.B.E. Napper et al, Computer J 19(1):25-31.
ALEF - Concurrent language for systems programming. C-like syntax, but a
different type system. Exception handling, process management and
synchronization primitives, both shared variable and message passing. Used
in Plan 9 OS.
ftp://research.att.com/dist/plan9man/05alef.ps.Z
info: Phil Winterbottom <philw@reserch.att.com>
ALEPH -
1. A Language Encouraging Program Hierarchy. ca 1975. "On the Design of
ALEPH", D. Grune, CWI, Netherlands 1986.
2. Peter Henderson ca. 1970. Formal semantics. CACM 15(11):967-973 (Nov
1972).
Alex -
1. Stephen Crawley <sxc@itd.dtso.oz.au>, Defence Science & Tech Org,
Australia. Under development. Polymorphic with ADT's, type inference,
inheritance.
2. ISWIM-like language with exception handling. "An Exception Handling
Construct for Functional Languages", M. Brez et al, in Proc ESOP88, LNCS
300, Springer 1988.
Alexis - Alex Input Specification. Input language for the scanner
generator Alex. "Alex: A Simple and Efficient Scanner Generator", H.
Mossenbock, SIGPLAN Notices 21(5), May 1986.
ALF - Algebraic Logic Functional language. WAM-based language with
narrowing/rewriting. Horn clauses with equality. Any functional
expression can be used in a goal. "The Implementation of the Functional-
Logic Language ALF", M. Hanus and A. Schwab.
ftp://ftp.germany.eu.net/pub/programming/languages/LogicFunctional/alf*
info: Rudolf Opalla <opalla@julien.informatik.uni-dortmund.de>
Alfl - Paul Hudak <hudak-paul@cs.yale.edu>, Yale 1983. Functional, weakly
typed, lazy. Implemented as a Scheme preprocessor for the Orbit compiler,
by transforming laziness into force-and-delay. "Alfl Reference Manual and
Programmer's Guide", P. Hudak, YALEU/DCS/RR322, Yale U, Oct 1984. (See
ParAlfl).
ALGEBRAIC - Early system on MIT's Whirlwind. Listed in CACM 2(5):16 (May
1959).
ALGOL 58 - See IAL.
ALGOL 60 - ALGOrithmic Language. Designed as a portable language for
scientific computations. ALGOL 60 was small and elegant. It was
block-structured, nested, recursive, and free form. It was also the first
language to be described in BNF. There were three lexical representations:
hardware, reference, and publication. The only structured data types were
arrays, but they were permitted to have lower bounds and could be dynamic.
Keywords. Conditional expression. Introduced :=, if-then-else, very
general 'for' loops. Switch declaration (an array of statement labels
generalizing FORTRAN's computed goto). Parameters were call-by-name and
call-by-value. Static local 'own' variables. Lacked user-defined types,
character manipulation and standard I/O. "Report on the Algorithmic
Language ALGOL 60", Peter Naur ed, CACM 3(5):299-314 (May 1960).
ALGOL 60 Modified - "A Supplement to the ALGOL 60 Revised Report", R.M.
DeMorgan et al, Computer J 19(4):364 and SIGPLAN Notices 12(1) 1977.
Erratum in Computer J 21(3):282 (Aug 1978) applies to both.
ALGOL 60 Revised - Still lacked standard I/O. "Revised Report on the
Algorithmic Language ALGOL 60", Peter Naur ed, CACM 6(1):1-17 (Jan 1963).
ftp://locke.ccil.org/pub/retro/algol60-0.17.tar.gz NASE A60 Interpreter
ALGOL 68 - Adriaan van Wijngaarden et al. Discussed from 1963 by Working
Group 2.1 of IFIP. Definition accepted Dec 1968. ALGOL 68 was complex,
and posed difficulties for both implementors and users. Structural
equivalence. Automatic type conversion, including dereferencing. Flexible
arrays. Generalized loops (for-from-by-to-while-do-od), if-then-elif-fi,
integer case statement with 'out' clause, skip statement, goto. Blocks,
procedures and user-defined operators. Procedure parameters. Concurrent
execution (cobegin/coend) and semaphores. Generators heap and loc for
dynamic allocation. No abstract data types, no separate compilation.
ALGOL 68-R - April, 1970. Royal Signals and Radar Establishment, Malvern,
Worcs UK, 1970. A restriction of ALGOL 68 permitting one-pass compilation:
identifiers, modes and operators must be declared before use, no automatic
proceduring, no concurrency. Implemented in ALGOL 60 under GEORGE 3 on an
ICL 1907F. "ALGOL 68-R, Its Implementation and Use", I.F. Currie et al,
Proc IFIP Congress 1971, N-H 1971, pp.360-363.
ALGOL 68 Revised - Significantly simplified the language. "Revised Report
on the Algorithmic Language ALGOL 68," A. Van Wijngaarden et al, Acta
Informatica 5:1-236 (1975), also Springer 1976, and SIGPLAN Notices
12(5):1-70 (May 1977).
ALGOL 68C - S. Bourne and Mike Guy, Cambridge U 1975. Variant of ALGOL 68,
allowing two-pass compilation. Used as the implementation language for the
CHAOS OS for the CAP capability computer. Ported to IBM 360, VAX/VMS,
several others.
ALGOL 68RS - Royal Signals and Radar Establishment, Malvern UK. An
extension of ALGOL 68 supporting function closures. Has been ported to
Multics and VAX/VMS.
ALGOL 68S - A subset of ALGOL 68 allowing simpler compilation. Intended
mainly for numerical computation. "A Sublanguage of ALGOL 68", P.G.
Hibbard, SIGPLAN Notices 12(5) (May 1977). Rewritten in BLISS for the PDP-
11, and later in Pascal. Available as shareware from Charles Lindsey
<chl@cs.man.ac.uk>, Version 2.3 for Sun3's under OS4.x and Atari under
GEMDOS (or potentially other machines supported by the Amsterdam Compiler
Kit).
ALGOL C - Clive Feather, Cambridge U, ca. 1981. Variant of ALGOL 60; added
structures and exception handling. Designed for beginning students.
ALGOL D - "A Proposal for Definitions in ALGOL", B.A. Galler et al, CACM
10:204-219 (1967).
ALGOL N - Yoneda. Proposed successor to ALGOL 60.
ALGOL W - Derivative of ALGOL 60. Introduced double precision, complex
numbers, bit strings and dynamic data structures. Parsed entirely by
operator precedence. Used call-by-value-result. "A Contribution to the
Development of Algol", N. Wirth, CACM 9(6):413-431 (June 1966). "ALGOL W
Implementation", H. Bauer et al, TR CS98, Stanford U, 1968.
ALGOL X - Proposed successor to ALGOL 60, a "short-term solution to
existing difficulties". The three designs proposed were by Wirth,
Seegmuller and van Wijngaarden. Sammet 1969, p.194.
ALGOL Y - Proposed successor to ALGOL 60, a "radical reconstruction".
Originally a language that could manipulate its own programs at runtime, it
became a collection of features that were not accepted for ALGOL X.
ALGY - Early language for symbolic math. Sammet 1969, p.520.
ALIAS - ALgorIthmic ASsembly language. Machine oriented language, a
variant of BLISS. Implemented in BCPL for the PDP9. "ALIAS", H.E.
Barreveld, Int Rep, Math Dept, Delft U Tech, Netherlands (1973).
ALJABR - An implementation of MACSYMA for the Mac. Fort Pond Research.
info: aljabr@fpr.com
ALLOY - Combines functional, object-oriented and logic programming ideas,
suitable for massively parallel systems. "The Design and Implementation of
ALLOY, a Parallel Higher Level Programming Language", Thanasis Mitsolides
<mitsolid@cs2.nyu.edu>, PhD Thesis NYU 1990. Version: ALLOY 2.0
ftp://cs.nyu.edu/pub/local/alloy/*
ALM - Assembly Language for Multics. Language on the GE645. Critical
portions of the Multics kernel were written in ALM.
ALP - List-processing extension of Mercury Autocode. "ALP, An Autocode
List-Processing Language", D.C. Cooper et al, Computer J 5:28-31 (1962).
ALPAK - Subroutine package used by ALTRAN. "The ALPAK System for
Nonnumerical Algebra on a Digital Computer", W.S. Brown, Bell Sys Tech J
42:2081 (1963). Sammet 1969, p.502.
ALPHA - A.P. Ershov, Novosibirsk, 1961. Also known as "Input". Extension
of ALGOL 60 for the M-20 computer, including matrix operations, slices,
complex arithmetic. "The Alpha Automatic Programming System", A.P.
"Yershov" ed., A-P 1971.
Alphard - (named for the brightest star in Hydra). Wulf, Shaw and London,
CMU 1974. Pascal-like. Data abstraction using the 'form', which combines
a specification and an implementation. "Abstraction and Verification in
Alphard: Defining and Specifying Iteration and Generators", Mary Shaw, CACM
20(8):553-563 (Aug 1977).
ALPS -
1. Richard V. Andree, U Oklahoma. Early interpreted algebraic language
for Bendix G15, said to have preceded and influenced development of BASIC.
2. Parallel logic language. "Synchronization and Scheduling in ALPS
Objects", P. Vishnubhotia, Proc 8th Intl Conf Distrib Com Sys, IEEE 1988,
pp.256-264.
ALTAC - An extended FORTRAN II for Philco 2000, built on TAC. Sammet 1969,
p.146.
ALTRAN - W.S. Brown, Bell Labs, ca. 1968. A FORTRAN extension for rational
algebra. "The ALTRAN System for Rational Function Manipulation - A
Survey", A.D. Hall, CACM 14(8):517-521 (Aug 1971).
Amber -
1. Adds CSP-like concurrency to ML. Similar to Galileo. Concurrency,
multiple inheritance, persistence. Programs must be written in two type
faces, roman and italics! Both static and dynamic types. "Amber", L.
Cardelli, TR Bell Labs 1984. Implementation for Mac.
2. U Washington, late 80's. An object-oriented distributed language
based on a subset of C++.
AMBIT - Algebraic Manipulation by Identity Translation (also claimed:
"Acronym May Be Ignored Totally"). C. Christensen, Massachusetts Computer
Assocs, 1964. An early pattern-matching language aimed at algebraic
manipulation. Sammet 1969, pp.454-457.
AMBIT/G - (G for graphs). "An Example of the Manipulation of Directed
Graphs in the AMBIT/G Programming Language", C. Christensen, in Interactive
Systems for Experimental Applied Mathematics, M. Klerer et al, eds,
Academic Press 1968, pp.423-435.
AMBIT/L - (L for lists). List handling, allows pattern matching rules
based on two-dimensional diagrams. "An Introduction to AMBIT/L, A
Diagrammatic Language for List Processing", Carlos Christensen, Proc 2nd
ACM Symp Symb and Alg Manip (Mar 1971).
AMBIT/S - (S for strings).
AMBUSH - Language for linear programming problems in a materials-
processing/transportation network. "AMBUSH - An Advanced Model Builder for
Linear Programming", T.R. White et al, National Petroleum Refiners Assoc
Comp Conf (Nov 1971).
AML - IBM, 1980's. High-level language for industrial robots. "AML: A
Manufacturing Language", R.H. Taylor et al, Inst J Robot Res 1(3):19-43.
AML/E - AML Entry. Simple version of AML, implemented on PC, with graphic
display of the robot position.
AMP - Algebraic Manipulation Package. Symbolic math, written in Modula-2,
seen on CompuServe.
AMPL - "AMPL: Design, Implementation and Evaluation of a Multiprocessing
Language", R. Dannenberg, CMU 1981. "Loglan Implementation of the AMPL
Message Passing System", J. Milewski SIGPLAN Notices 19(9):21-29 (Sept
1984).
AMPLE - Hybrid Technologies, Cambridge England, mid 80's. FORTH-like
language for programming the 500/5000 series of add-on music synthesizers
for the BBC micro. Many listings published in Acorn User magazine.
AMPPL-II - Associative Memory Parallel Processing Language. Early 70's.
AMTRAN - Automatic Mathematical TRANslation. NASA Huntsville, 1966. For
IBM 1620, based on Culler-Fried System, requires special terminal.
"AMTRAN: An Interactive Computing System", J. Reinfelds, Proc FJCC 37:537-
542, AFIPS (Fall 1970).
ANCP - Early system on Datatron 200 series. Listed in CACM 2(5):16 (May
1959).
ANDF - Architecture Neutral Distribution Format. OSF's request for a
universal intermediate language, allowing software to be developed and
distributed in a single version, then installed on a variety of hardware.
"Architecture Neutral Distribution Format: A White Paper", Open Software
Foundation, Nov 1990. (See UNCOL).
list: andf-tech@osf.org
Andorra-I - The OR parallelism of Aurora plus the AND parallelism of
Parlog. "Andorra-I: A Parallel Prolog System that Transparently Exploits
both And- and Or-Parallelism", V.S. Costa et al, SIGPLAN Notices 26(7):83-
93 (July 1991).
Andorra-Prolog - "Andorra-Prolog: An Integration of Prolog and Committed
Choice Languages", S. Haridi et al, Intl Conf Fifth Gen Comp Sys 1988, ICOT
1988.
Animus - "Constraint-Based Animation: The Implementation of Temporal
Constraints in the Animus System", R. Duisberg, PhD Thesis U Washington
1986.
Anna - ANNotated Ada. ca. 1980. Adds semantic assertions to Ada as formal
comments. Based on first-order logic. Includes generalized type
constraints, virtual checking functions, and behavior specification. "ANNA
- A Language for Annotating Ada Programs", David Luckham et al, Springer
1987.
ftp://anna.stanford.edu/pub/anna/*
ANTLR - ANother Tool for Language Recognition. Parser generator, part of
PCCTS (Purdue Compiler-Construction Tool Set).
ftp://ecn.purdue.edu
APAL - Array Processor Assembly Language. For the DAP parallel machine.
APAREL - A PArse REquest Language. PL/I extension to provide BNF parsing
routines, for IBM 360. "APAREL: A Parse Request Language", R.W. Balzer et
al, CACM 12(11) (Nov 1969).
APDL - Algorithmic Processor Description Language. ALGOL-60-like language
for describing computer design, for CDC G-21. "The Description,
Simulation, and Automatic Implementation of Digital Computer Processors",
J.A. Darringer, Ph.D Thesis EE Dept, CMU May 1969.
APESE - The language of the APE100 SIMD machine. (See TAO.)
http://slacvm.slac.stanford.edu:5080/FIND/NAME/APESE/FULL
APL - A Programming Language. Ken Iverson Harvard U 1957-1960. Designed
originally as a notation for the concise expression of mathematical
algorithms. Went unnamed and unimplemented for many years. Finally a
subset APL\360 was implemented in 1964. APL is an interactive
array-oriented language with many innovative features, written using a non-
standard character set. It is dynamically typed with dynamic scope. All
operations are either dyadic infix or monadic prefix, and all expressions
are evaluated from right to left. The only control structure is branch.
APL introduced several functional forms but is not purely functional. "A
Programming Language", Kenneth E. Iverson, Wiley, 1962. Versions: APL\360,
APL SV, VS APL, Sharp APL, Sharp APL/PC, APL*PLUS, APL*PLUS/PC, APL*PLUS/PC
II, MCM APL, Honeyapple, and DEC APL.
(See Iverson's Language).
APL2 - IBM. An APL extension with nested arrays. "APL2 Programming:
Language Reference", IBM Aug 1984. Order No. SH20-9227-0.
APLGOL - H-P? An APL with ALGOL-like control structure.
APPLE - Revision of APL for the Illiac IV.
AppleScript - An object-oriented shell language for the Macintosh,
approximately a superset of HyperTalk.
Applesoft BASIC - Version of BASIC on Apple computers.
APPLOG - Unifies logic and functional programming. "The APPLOG Language",
S. Cohen in Logic Programming, deGroot et al eds, P-H 1986, pp.39-276.
APT - Automatically Programmed Tools. For numerically controlled machine
tools. The first language to be an ANSI standard: ANSI X3.37. "APT Part
Programming", McGraw-Hill. Versions: APT II (IBM 704, 1958), APT III (IBM
7090, 1961). Sammet 1969, p.605.
APX III - Early system on Datatron 200 series. Listed in CACM 2(5):16 (May
1959).
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,
pp.569-599.
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,
pp.34-43.
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
<liskov@lcs.mit.edu> et al, TOPLAS 5(3):381-404 (1983).
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-
H.
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 Softwatre Eng
Conf, Strasbourg, Sept 1987, pp.77-85.
ASF - An algebraic specification language. "Algebraic Specification", J.A.
Bergstra et al, A-W 1989.
Ashmedai - Michael Levine <levine@cpwsca.psc.edu> Symbolic math package.
Had an influence on SMP and FORM. Versions for Univac 1108 and VAX/VMS.
ASIS - Ada Semantic Interface Specification. A layered, vendor-independent
architecture providing an interface to the Ada program library.
info: //ajpo.sei.cmu.edu/public/asis/*
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).
ftp://cs.ubc.ca/pub/local/src/snacc/snacc1.1.tar.Z [?]
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.
ftp://wowbagger.uni-bremen.de/pub/programming/lanugages/ASpecT/*
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
ftp://ftp.cognet.ucla.edu/alexis/am6*
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 - K. Yoshida and T. Chikayama <chik@icot.or.jp>. Built on top of KL1.
"A'UM - A Stream-based Concurrent Logic Object-Oriented Language", K.
Yoshida et al, Proc 3rd Intl Conf Fifth Gen Comp Sys, Springer 1988,
pp.638-649.
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
1976).
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.)
ftp://netlib.att.com/research/awk*
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.
ftp://ftp.uni-kl.de/pub/languages/B.tar.Z
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.
info: Ib.Sorensen@comlab.ox.ac.uk
B-0 - Original name of FLOW-MATIC, Remington Rand. UNIVAC I or II ca.
1958.
Babbage - GEC Marconi Ltd. Named after "the first programmer to slip
schedule and go over budget". Low-level language, used on their OS4000
operating system. The British videotext system Prestel is programmed in
Babbage. Article in Datamation, ca Oct, 1980[?]
BABEL -
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.
ftp://gmdzi.gmd.de/gmd/ai-research/Software/*
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.
BASCMP - A modification of STAGE2, used to implement the Basic Wisp
translator. Implementing Software for Non-numeric Applications, W. M.
Waite, P-H 1973.
bash - Bourne Again SHell. GNU's command shell for Unix.
ftp://prep.ai.mit.edu/pub/gnu/bash-1.10.tar.Z
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
X3.60-1978.
list: basic@ireq.hydro.qc.ca
BASIC AUTOCODER - Early system on IBM 7070. Listed in CACM 2(5):16 (May
1959).
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
Minix.
bc - [Belinda's Calculator?] An interactive mini-language for numerical
calculation. Part of the Unix toolkit since V7. Originally implemented by
Belinda Cherry as a preprocessor for dc, supporting infix notation. The
GNU toolkit contains a clone of it.
ftp://prep.ai.mit.edu/pub/gnu
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,
INTCODE).
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
PNU-Prolog.
ftp://munnari.oz.au/pub/bebop.tar.Z
info: Andrew Davidson <ad@cs.mu.oz.au>
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
<emmel@karlsruhe.gmd.dbp.de>, GMD, U Karlsruhe 1990.
ftp://iraun1.ira.uka.de/pub/programming/cocktail/*
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,
BELL L3.
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.
ftp://nexus.yorku.ca/pub/scheme/scm/bevan.shar
BETA - Kristensen, Madsen<olm@det.eng.sun.com>, Moller-Pedersen & Nygaard,
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.
info: info@mjolner.dk
list: usergroup@mjolner.dk
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
<mehrotra@csrd.uiuc.edu> 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).
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.
BlooP - Douglas Hofstadter, 1979. Imperative language, designed for
pedagogical purposes. Mechanizes primitive-recursive functions. Douglas
Hofstadter, "Godel, Escher, and Bach: An Eternal Golden Braid", Basic
Books, Chap 13. ISBN 0-465-02685-0. Implementation in Perl by John Cowan
<cowan@locke.ccil.org>, 1994. (See FlooP).
ftp://locke.ccil.org/pub/retro/bloop.*
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
grammars. First used in the specification of Algol-58.
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,
p.26.
ftp://ftp.mv.com/pub/ddj/packages/bob15.arc
BOEING - Early system on IBM 1103 or 1103A. Listed in CACM 2(5):16 (May
1959).
Booster - Data parallel language. "The Booster Language", E. Paalvast, TR
PL 89-ITI-B-18, Inst voor Toegepaste Informatica TNO, Delft, 1989.
BOPL - Basic Object Programming Language. Minimal object-based language
for teaching. "Object-Oriented Sype Systems", J. Palsberg et al, Wiley,
1993.
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.
BRAVE - ?
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.
bs - A BASIC-like interactive language, really a sort of super-extended
calculator utility, shipped with some early System V Unixes.
BSL -
1. Variant of IBM's PL/S systems language. Versions: BSL1, BSL2.
2. Backtracking Specification Language. A logic programming language
fundamentally different from Prolog. A nondeterministic Algol-like
language where variables cannot be assigned more than once except in
controlled contexts. Each BSL program corresponds to an assertion in first
order logic, and executing the program amounts to proving the assertion.
Used to write an expert system CHORAL for harmonization of Bach-style
chorales. "Report on the CHORAL Project: An Expert System for Chorale
Harmonization", K. Ebcioglu, RC 12628, IBM TJWRC, 1987.
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.
byacc - See yacc.
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.
ftp://ftp.cs.princeton.edu/pub/lcc/*
http://www.cs.princeton.edu/software/lcc
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.
ftp://prep.ai.mit.edu/pub/gnu/gcc-2.3.3.tar.Z
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
info: customer-support@think.com
documentation-order@think.com
C++ - Stroustrup <bs@alice.att.com>. An object-oriented superset of C. In
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).
ftp://grape.ecs.clarkson.edu/pub/msdos/djgpp/djgpp.zip for MS-DOS
ftp://prep.ai.mit.edu/pub/gnu/g++-1.39.0.tar.Z 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
Manual"
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.
C+@ - (formerly Calico). Bell Labs. Object-oriented language, uniformly
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.
Engelstad et al, IEEE Software 8(3):73-85 (May 1991). "The C+@ Programming
Language", J. Fleming, Dr Dobbs J, Oct 1993, pp.24-32. Implementation for
SunOS, compiles to Vcode. Unir Tech, (800)222-8647.
info: Jim Vandendorpe <jimvan@iexist.att.com>
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
1974.
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
1981).
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-
coupled Multiprocessors", P. Kelly <phjk@doc.ic.ac.uk>, Pitman/MIT Press,
1989.
Calico - See C+@.
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).
CAML -
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.
ftp://ftp.inria.fr/INRIA/caml/V3.1
info: caml-light@margaux.inria.fr
list:caml-list@margaux.inria.fr
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, and Mac.
Version: 0.6
ftp://ftp.inria.fr/lang/caml-light/*
info: caml-light@margaux.inria.fr
Candle - Language used in Scorpion environment development system. Related
to IDL?
ftp://cs.arizona.edu/scorpion/*
info: scorpion-project@cs.arizona.edu
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.
info: cayley@maths.su.oz.au
CBASIC - Gordon Eubanks, now at Symantec. A BASIC compiler. Evolved
from/into EBASIC.
cc - Concurrent Constraints. A family of languages generalizing CLP,
including concurrency, atomic tell and blocking ask. "Concurrent
Constraint Programming", V. Saraswat, MIT Press 1993.
CC++ - Compositional C++. Extensions to C++ for compositional parallel
programming.
ftp://csvax.cs.caltech.edu/pub/comp
info: Carl Kesselman <carl@vlsi.cs.caltech.edu>
CCalc - Symbolic math for MS-DOS, available from Simtel.
CCL -
1. Coral 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.
contact: Jean Bacon <jmb@cl.cam.ac.uk>
CCP - Concurrent Constraint Programming. Not a language, but a general
approach.
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).
CDIF - CASE Data Interchange Format. Used by Cadre and other CASE tool
vendors.
CDL -
1. Computer Definition [Design?] Language. A hardware description
language. "Computer Organization and Microprogramming", Yaohan Chu, P-H
1970.
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
Manchester.
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).
ftp://cs.uwashington.edu/pub/chambers/cecil-spec.ps.Z
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
Language for Image Processing", W. Hasselbring <willi@informatik.uni-
essen.de>, 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
(1987).
CESP - Common ESP. AI Language Inst, Mitsubishi - Object-oriented extension
of Prolog, a Unix-based version of ESP[3].
info: cesp-request@air.co.jp
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.
ftp://mc.lcs.mit.edu/its/ai/lisp/cgol.fasl
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 - Cockett, Spencer, Fukushima, 1990-1991. Functional language
based purely on category theory. "About Charity", J.R.B. Cockett
<cockett@cpcs.ucalgary.ca> et al. Version for Sun4 available from Tom
Fukushima <fukushim@cpsc.ucalgary.ca>.
CHARM -
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)
ftp://a.cs.uiuc.edu/pub/CHARM
list:charm@cs.uiuc.edu
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.
ftp://a.cs.uiuc.edu/pub/CHARM/Charm++
info: Sanjeev Krishnan <sanjeev@cs.uiuc.edu>
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.
info: cras@bull.fr
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.
CHIP -
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.
info: <cosytec@cosytec.fr>
CHIP-48 - Reimplementation of CHIP-8 for the HP-48 calculator. Andreas
Gustafson <gson@niksula.hut.fi>, comp.sys.handhelds, Sep 1990.
ftp://vega.hut.fi/pub/misc/hp48sx/asap/*
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.
ftp://ftp.cso.uiuc.edu/pub/amiga/fish/f5/ff537/CHIP8.lzh
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)
info: Jimmy Lee <cial@cs.cuhk.hk>
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 -
1. 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).
2. Constraint Language Abstract Machine. The underlying abstract machine
in the implementation of CLP(R). Based on the WAM. "An Abstract Machine
for CLP(R)", J. Joffar et al, Proc ACM SIGPLAN 92 COnf on Prog Lang and
Impl, 1992, pp.128-139.
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
Clean).
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,
pp.185-213.
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
language. Available from Sci Comp Assocs <linda@sca.com>.
CLIP -
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-
3265. Austin Code Works <info@acw.com> (512)258-0785. "Expert Systems:
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).
info: service@cossack.cosmic.uga.edu
telnet: cosline@cosmic.uga.edu
ftp://earth.rs.itd.umich.edu/mac.bin/etc/compsci/Clips/CLIPS 4.20
//ftp.ensmp.fr/pub/clips/clips-5.1/dos/clips
//ftp.ensmp.fr/pub/clips/clips-5.0/doc/mac-clips-50
list: CLIPS-LIST@UGA.BITNET
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.
Clock - ? Mentioned in the documentation for TXL.
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]).
ftp://parcftp.xerox.com/pcl/*
CLP -
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.
info: <joxan@watson.ibm.com>
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.
"Abstraction and Specification in Program Development", Barbara Liskov
and John Guttag, McGraw-Hill, 1986. "CLU Reference Manual", Barbara Liskov
et al, LNCS 114, Springer 1981.
contact: Paul R. Johnson <prj@pm-prj.lcs.mit.edu>
ftp://pion.lcs.mit.edu/pub/clu/* - versions for Sun, VAX/VMS.
//ftp.lcs.mit.edu/pub/pclu/* - portable version, compiles to C
//ftp.is.titech.ac.jp/pub/clu2c/* - compiles to C
info: clu2c-report@is.titech.ac.jp
Cluster 86 - Shang, Nanjing U ca1986. Distributed object-oriented
language. A cluster is a metatype. "Cluster: An Informal Report", L.
Shang <lshang@inf.ethz.ch>, SIGPLAN Notices 26(1):57-76 (Jan 1991).
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.
CML -
1. A query language. "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).
ftp://ftp.cs.cornell.edu/pub/CML-0.9.8.tar.Z
info: cml-bugs@cs.cornell.edu
Cmm - C Minus Minus. Scripting language.
ftp://ftp.std.com/vendors/CEnvi-Cmm/share
CMS-2 - General purpose language used for command and control applications
in the US Navy. Variants: CMS-2M and CMS-2Y. "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 Bancilon et al, in Advances in
Object-Oriented Database Systems, K.R. Dittrich ed, LNCS 334, Springer
1988.
COALA - "COALA: The Object Code of the Compiler Producing System", S.
Kruszewski et al, MERA, Warsaw 1974.
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
1985. A new ISO standard is expected in 1997.
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.]
Cocol - Coco Language. A language for writing left-attributed LL(1)
grammars. Syntactic resemblance to Modula-2. Used as the input language
for the Coco LL(1) parser generator, which produces Modula-2 output. "A
Compiler Generator for Microcomputers", P. Rechenberg et al, P-H 1989.
Version: Cocol-2 for the Coco-2 generator.
ftp://neptune.inf.ethz.ch/pub/Coco (Oberon and modula-2 versions)
//cs.ru.ac.za/pub/coco (C version)
Code 2.0 - Large-grain dataflow language. Has a graphical interface for
users to draw communication structure. "The CODE 2.0 Parallel Programming
Language", P. Newton et al, Proc ACM Intl Conf on Supercomput, Jul 1992.
info: Peter Newton <newton@cs.utexas.edu>
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 pattern-directed string and list processing features, for CDC 3600 and
CDC 3800. A program consists of productions defining a context-free
language, plus analysis and synthesis function generators, "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 problems 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 - COMmon Algorithmic Language. 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 - Victor H. Yngve, MIT, 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.
Implemented on IBM 7090. "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 provide a common dialect of LISP.
The result is a large and complex language, fairly close to a superset of
MacLisp. 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 now includes CLOS, an extended LOOP
macro, condition system, pretty printing, logical pathnames. "Common LISP:
The Language", Guy L. Steele, Digital Press 1984, ISBN 0-932376-41-X.
"Common LISP: The Language, 2nd Edition", Guy L. Steele, Digital Press
1990, ISBN 1-55558-041-6.
(See AKCL, CCL, DCL, KCL, MCL)
list: common-lisp@ai.sri.com.
ftp://lisp-rt1.slisp.cs.cmu.edu/pub/16e-* CMU Common LISP Version 16e
//ftp.think.com/public/think/lisp:public-review.text
Draft proposed ANS Common Lisp
CommonLoops - Xerox. An object-oriented LISP. Led to CLOS. "CommonLoops:
Merging Lisp and Object-Oriented Programming", D.G. Bobrow et al, SIGPLAN
Notices 21(11):17-29 (Nov 1986). (See CLOS, PCL).
ftp://arisia.xerox.com/pub/pcl/September-16-92-PCL-c.tar.Z - Pcl (Portable
CommonLoops)
info: CommonLoops@xerox.com
Common Objects - H-P. An object-oriented LISP. "Inheritance and the
Development of Encapsulated Software Components", A. Snyder, Proc 20th
Hawaii Conf on Sys Sci, pp.227-238 (1987).
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,
p.695.
Computer Design Language - ALGOL-like language for computer design. "An
ALGOL-like Computer Design 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).
Concert/C - IBM TJWRC, July 1993. A parallel extension of ANSI C with
asynchronous message passing.
ftp://software.watson.ibm.com/pub/concert/cncrt.B1.tar.Z
info: concert-c@watson.ibm.com
CONCUR - "CONCUR, A Language for Continuous Concurrent Processes", R.M.
Salter et al, Comp Langs 5(3):163-189 (1981).
Concurrent Aggregates (CA) - 1990. Concurrent object-oriented language
based on the Actor model plus RPC. Pure object oriented, single
inheritance, with first class selectors, continuations and messages.
"Concurrent Aggregates: Supporting Modularity in Massively Parallel
Programs", Andrew A. Chien. Compiler for CM5 and workstations.
definition:http//www-csag.cs.uiuc.edu/papers/ca-report.ps
implementation:http//www-csag.cs.uiuc.edu/projects/concert/release.html
info:http//www-csag.cs.uiuc.edu
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. Lazy, purely functional. Strongly
typed (Milner/Mycroft), modules, functional I/O (including windows and
mouse). Compiles to the PABC machine, based on graph rewriting.
"Concurrent Clean", M.C. van Eekelen et al, TR 89-18, U Nijmegen,
Netherlands, 1989. Version: 0.8.1, October 1992.
ftp://ftp.cs.kun.nl/pub/Clean/* - simulator for Mac, Sun3, Sun4
info: <clean@cs.kun.nl>
Concurrent CLU - Hamilton, Cambridge U, 1984. "Preserving Abstraction in
Concurrent Programming", R. Cooper et al, IEEE Trans Soft Eng SE-
14(2):258-263 (Feb 1988).
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,
1983.
Concurrent LISP - "A Multi-Processor System for Concurrent Lisp", S.
Sugimoto et al, Proc 1983 Intl Conf parallel Proc, 1983 pp.135-143.
Concurent Oberon - not a separate language, but rather a modification of
the Oberon system.
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).
Concurrent Prolog - Ehud "Udi" Shapiro, Yale <shapiro-ehud@yale.edu>.
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).
Concurrent Scheme - M. Swanson <swanson%teewinot@cs.utah.edu>. A parallel
Lisp, for the Mayfly. "Concurrent Scheme", R.R. Kessler et al, in Parallel
Lisp: Languages and Systems, T. Ito et al eds, LNCS 441, Springer 1989.
ConcurrentSmalltalk - Concurrent variant of Smalltalk (what did you
expect). "Concurrent Programming in ConcurrentSmalltalk", Y. Yokote et al
in Object-Oriented Concurrent Programming, A. Yonezawa et al eds, MIT Press
1987, pp.129-158.
condela - Connection Definition Language. A language for defining neural
nets. Procedural and parallel.
ftp://tut.cis.ohio-state.edu/pub/condela
CONIC - "Dynamic Configuration for Distributed Systems", J. Kramer et al,
IEEE Trans Soft Eng SE-11(4):424-436 (Apr 1985).
Connection Machine LISP - LISP with a parallel data structure, the
'xapping', an array of values assigned to an array of sites. G.L. Steele
et al, "Connection Machine LISP: Fine-Grained Parallel Symbolic
Processing", in Proc 1986 ACM Conf on LISP and Functional Prog, Aug 1986,
pp.279-297. "Connection Machine LISP Reference Manual", Thinking Machines
Corp, Feb 1987.
CONNIVER - AI language for automatic theorem proving. An outgrowth of
PLANNER, based on coroutines rather than backtracking. Allowed multiple
database contexts with hypothetical assertions. "The CONNIVER Reference
Manual", D. McDermott & G.J. Sussman <gjs@zurich.ai.mit.edu>, AI Memo 259,
MIT AI Lab, 1973.
ConstraintLisp - Object-oriented constraint language based on CSP. An
extension of Common Lisp and CLOS. "ConstraintLisp: An Object-Oriented
Constraint Programming Language", Bing Liu <bing@iti.gov.sg> et al, SIGPLAN
Notices 27(11):17-26 (Nov 1992).
CONSTRAINTS - Constraints using value inference. "CONSTRAINTS: A Language
for Expressing Almost-Hierarchical Descriptions", G.J. Sussman et al, Artif
Intell 14(1):1-39 (Aug 1980).
Consul - Constraint-based [future-based?] language with LISP-like syntax.
"Consul: A Parallel Constraint Language", D. Baldwin, IEEE Software
6(4):62-71.
CONVERT -
1. String processing language, combined the pattern matching and
transformation operations of COMIT with the recursive data structures of
Lisp. "Convert", A. Guzman et al, CACM 9(8):604-615 (Aug 1966).
2. Early language to convert programs and data from one language to
another. "CONVERT Manual", OLI Systems Inc (Oct 1976).
cooC - Concurrent Object-Oriented C. Toshiba. Concurrent object execution
with synchronous or asynchronous message passing. Implemented for SunOS.
SIGPLAN Notices 28(2) [?]
ftp://tsbgw.isl.rdc.toshiba.co.jp/pub/toshiba/cooc-beta.1.1.tar.Z
info:cooc@isl.rdc.toshiba.co.jp
COOL -
1. Concurrent Object-Oriented Language. An extension of C++ with
task-level parallelism for shared-memory multiprocessors. "COOL: A
Language for Parallel Programming", R. Chandra et al in Languages and
Compilers for Parallel Computing, D. Gelernter et al eds, MIT Press 1990,
pp.126-148.
info: Rohit Chandra <rohit@cool.stanford.edu>
2. CLIPS Object-Oriented Language?
CORAL -
1. Class Oriented Ring Associated Language. L.G. Roberts, MIT 1964.
Graphical display and systems programming on the TX-2. Used "rings"
(circular lists) from Sketchpad. "Graphical Communication and Control
Languages", L.B. Roberts, Information System Sciences: Proc Second
Congress, 1965. Sammet 1969, p.462.
2. U Wisconsin Madison. Language for deductive database. Prolog-like
syntax with SQL-like extensions. Many evaluation techniques are supported.
Implemented in C++.
3. Royal Signals and Radar Establishment, Malvern UK. Real-time system
programming language, a derivative of JOVIAL and ALGOL-60. Strongly
associated with MASCOT, a design technique for real time systems. Adopted
as the British military standard from 1970 until the arrival of Ada.
Versions: CORAL 64, CORAL 66. "Official Definition of CORAL 66", P.M.
Woodward et al, HMSO, London, 1970, ISBN 0-11-470221-7.
CORBIE - Early system on IBM 704. Listed in CACM 2(5):16 (May 1959).
CORC - CORnell Compiler. Simple language for student math problems. "The
Cornell Computing Language", R.W. Conway et al, CACM 6(6):317-320 (Jun
1963) Sammet 1969, p.294-296.
Coroutine Pascal - "Control Separation in Programming languages", Lemon et
al, ACM Ann Conf 1977.
CORREGATE - Based on IT. Sammet 1969, p.139.
Correlatives and Conversions - Data description language used in the Pick
OS. "Exploring the Pick Operating System", J.E. Sisk et al, Hayden 1986.
CORTL - Carl McConnell. Intermediate language, a form of RTL?
info: mcconnell@cs.uiuc.edu
Coursewriter III - ca. 1976. Simple CAI language. "Coursewriter III,
Version 3 Author's Guide", SH20-1009, IBM.
COWSEL - COntrolled Working SpacE Language. Burstall and Popplestone, U
Edinburgh, 1964-66. LISP-like semantics with FORTH-like stack, and reverse
Polish syntax. Forerunner of POP. EPU-R-12, U Edinburgh (Apr 1966).
CP - A concurrent Prolog. "The Concurrent Logic Programming Language CP":
Definition and Operational Semantics", V. Saraswat, 14th POPL, ACM 1987,
pp.49-62.
CParaOps5 - Anurag Acharya, <acharya@cs.cmu.edu>. Parallel version of
OPS5, written in C and compiling to C. Available for Unix, Mach, Encore
Multimaxen, and Sequent. Version: 5.4.
ftp://dravido.soar.cs.cmu.edu//usr/nemo/cparaops5/CParaOPS5-5.4.tar.Z
CPL -
1. Combined Programming Language. U Cambridge and U London. A very
complex language, syntactically based on ALGOL-60, with a pure functional
subset. Provides the ..where.. form of local definitions. Strongly typed
but has a "general" type enabling a weak form of polymorphism. Functions
may be defined as either normal or applicative order. Typed array and
polymorphic list structures. List selection is through structure matching.
Partially implemented on the Titan (Atlas 2) computer at Cambridge. Led to
the much simpler BCPL. "The Main Features of CPL", D.W. Barron et al,
Computer J 6(2):134-143 (Jul 1963).
2. Conversational Programming Language. DEC. Language similar to PL/I,
for DEC-10 and DEC-20. Manual: DEC-10-LCPLA-B-D.
CPS -
1. Conversational Programming System. Allen-Babcock Corp, 1965.
Interactive extended subset of PL/I. "Conversational Programming System
under TSO (PBPO), Terminal User's Manual", SH20-1197, IBM. Sammet 1969,
p.232-240.
2. Continuation Passing Style. A semantically clean language with
continuations, has been used as an intermediate language for Scheme and the
SML/NJ compiler. "Rabbit: A Compiler for Scheme", G.L. Steele, AI-TR-474,
MIT (May 1978). "Compiling With Continuations", A. Appel, Cambridge U
Press 1992.
C-Refine - Lutz Prechelt <prechelt@ira.uka.de> Symbolic naming of code
fragments to redistribute complexity and provide running commentary.
Implemented as a C preprocessor.
ftp://ftp.uu.net/usenet/comp.sources.reviewed/volume02/crefine
CRISP - Jeff Barnett, SDC, Santa Monica CA, early 70's. A LISP-like
language and compiler for the IBM 370. Differences from LISP included a
generalization of 2-part cons nodes to n-part.
CRL - Carnegie Representation Language. (c)Carnegie Group Inc. Frame
language derived from SRL. Written in Common LISP. Used in the product
Knowledge Craft.
CROSSTABS - Simple language for statistical analysis of tabular data.
"User's Manual for the CROSSTABS System", Cambridge Computer Assoc (Feb
1977).
Crystal - Concurrent Representation of Your Space-Time ALgorithms. A
recursion equation parallel language. "A Parallel Language and its
Compilation to Multiprocessor Machines or VLSI", M.C. Chen, 13th POPL, ACM
1986 pp.131-139.
CS-4 - "CS-4 Language Reference Manual and Operating System Interface", Ben
M. Brosgol et al, Report IR-130-2, Intermetrics, Cambridge MA, Oct 1975.
CS-Prolog - Distributed logic language. "CS-Prolog on Multi-Transputer
Systems", I. Futo et al, Microprocessors & Microsystems, March 1989.
C-Scheme - Joe Bartlett at DEC/WRL? Dialect of Scheme implemented in and
embeddable in C.
csh - C-Shell. William Joy. Command shell interpreter and script language
for Unix.
CSL -
1. Computer Structure Language. A computer hardware description
language, written in BCPL. "Computer Structure Language (CSL)", Proc 1975
Symp on Comp Hardware Description Languages and their Appl, ACM (Sep 1975).
2. Control and Simulation Language. Esso and IBM. Language for
industrial simulations. "Control and Simulation Language", J.N. Buxton et
al, Computer J 5(3):194-199 (Oct 1962). Version: CSL 2 (1966 for IBM
7094).
CSM - "CSM - A Distributed Programming Language", S. Zhongxiu et al, IEEE
Trans Soft Eng SE-13(4):497-500 (Apr 1987).
CSMP - Continuous System Modeling Program. Simulation of dynamics of
continuous systems. Similar to CSSL. "A Guide to Using CSMP - The
Continuous System Modeling Program", Frank H. Speckhart et al, P-H 1976.
CSP - Communicating Sequential Processes. 1978. A notation for
concurrency based on synchronous message passing and selective
communications. cobegin/coend. "Communicating Sequential Processes", A.R.
Hoare, P-H 1985.
CSP/80 - Based on CSP. "CSP/80: A Language for Communicating Processes",
M. Jazayeri et al, Proc Fall COMPCON80, IEEE pp.736-740 (Sept 1980).
CS/PCode - Used at Microsoft.
CSP/k - Concurrent SP/k. A PL/I-like concurrent language. "Structured
Concurrent Programming with Operating System Applications", R.C. Holt et
al, A-W 1978.
CSP-S - "Implementation of CSP-S for Description of Distributed
Algorithms", L. Patnaik et al, Comput Lang 9(3):193-202 (1984).
CSPS - "Toward Comprehensive Specification of Distributed Systems", G.
Roman et al, Proc 7th Intl Conf on Distrib Comp Sys, IEEE 1987, pp.282-289.
CS/QCode - Used at Microsoft.
CSS/II - Computer System Simulator II. Like GPSS, for IBM 360. "Computer
System Simulator II (CSS II) Program Description and Operations Manual",
SH20-0875, IBM.
CSSA - Object-oriented language. "Key Concepts in the INCAS Multicomputer
Project", J. Nehmer et al, IEEE Trans Soft Eng SE-13(8):913-923 (Aug 1987).
CSSL - Continuous System Simulation Language. Versions include ACSL,
HYTRAN, SL-I, S/360 and CSMP. "The SCi Continuous System Simulation
Language (CSSL)", Simulation, 9(6) (Dec 1967).
CSTools - Concurrency through message-passing to named message queues.
CTL -
1. Checkout Test language. "Checkout Test Language: An Interpretive
Language Designed for Aerospace Checkout Tasks", G.S. Metsker, Proc FJCC
33(2) (1968).
2. Compiler Target Language. Intermediate language used by the ALICE
parallel machine. "The Design and Implementation of ALICE: A Parallel
Graph Reduction Machine", M.D. Cripps et al, Proc Workshop on Graph
Reduction, Springer 1987.
Cube - Three-dimensional visual language for higher-order logic. "The Cube
Language", M. Najork et al, 1991 IEEE Workshop on Visual Langs, Oct 1991,
pp.218-224.
CUCH - CUrry-CHurch. Lambda-calculus. "A Type-Theoretical Alternative to
CUCH, ISWIM, OWHY", Dana Scott, Oxford U 1969. "Introduction to the CUCH",
C. Bohm et al, in Automata Theory, E.R. Caianiello ed, A-P 1966, pp.35-65.
Culler-Fried System - System for interactive mathematics. Sammet 1969,
p.253-255.
CUPID - Graphic query language. "CUPID: A Graphic Oriented Facility for
Support of Nonprogrammer Interactions with a Database", N. McDonald, PhD
Thesis, CS Dept, UC Berkeley 1975.
CuPit - Parallel language for neural networks. "CuPit - A Parallel
Language for Neural Algorithms: Language Reference and Tutorial", Lutz
Prechelt, TR, U Karlsruhe, 1993.
ftp://ftp.ira.uka.de/pub/uni-karlsruhe/papers/cupit.ps.gz
CUPL - Cornell University Programming Language. Simple math problems,
based on CORC, with PL/I-like syntax. "An Instruction Language for CUPL",
R.J. Walker, Cornell U, Jul 1967,
ftp://locke.ccil.org/pub/retro
CWIC - Compiler for Writing and Implementing Compilers. Val Schorre. One
of the early metacompilers. (cf. Meta-II).
CYBIL - Control Data's system programming language in the 80's. Major
parts of CDC systems written in this.
CYCL - Frame language. "Building Large Knowledge-Based Systems", D.B.
Lenat et al, A-W 1990.
CypherText - Interactive language for text formatting and typesetting.
"CypherText: An Extensible Composing and Typesetting Language", C.G. Moore
et al, Proc FJCC 37, AFIPS (Fall 1970).
D -
1. "The Data Language." MS-DOS 4GL.
2. A Haskell-like language, with type classes.
info: polar@cs.syr.edu
3. Scripting language in the Teleuse Motif GUI builder.
DACAPO - Broad-range hardware specification language. "Mixed Level
Modelling and Simulation of VLSI Systems", F.J. Rammig in Logic Design and
Simulation, E. Horbst ed, N-H 1986.
DACTL - Declarative Alvey Compiler Target Language. U East Anglia. An
intermediate language. "DACTL - A Computational Model and Compiler Target
Language Based on Graph Reduction", J.R.W. Glauert et al, ICL Tech J 5(3)
(1987). Version: Dactl0. (See Lean, Parallel SML).
DAD - Declarative Ada Dialect. Dialect of Ada intended to aid rapid
prototyping of Ada programs. Adds many features including manipulation of
first-order functions, lazy evaluation, and streams. Implemented as a pre-
processor to Ada. "DAD Defined", P.A. Bailes et al, TR-229, CS Dept, U
Queensland.
info: Dan Johnston <dan@cs.uq.oz.au>
Daisy - Functional. "Daisy Programming Manual", S.D. Johnson, CS Dept TR,
Indiana U, 1988.
DAISY 201 - Early system on G-15. Listed in CACM 2(5):16 (May 1959).
DAP-16 - assembly language for the Honeywell 2600 test station.
DAP Fortran - "Efficient High Speed Computing with the Distributed Array
Processor", P.M. Flanders et al, pp.113-127 (1977). [same as Fortran-
Plus?]
DAPLEX - "The Functional Data Model and the Data Language DAPLEX", D.W.
Shipman, ACM Trans Database Sys, 6(1):140-173 (Mar 1981).
DARE - Differential Analyzer REplacement. A family of simulation languages
for continuous systems. "Digital Continuous System Simulation", G.A. Korn
et al, P-H 1978.
Darms - Music language. "The Darms Project: A Status Report", R.F.
Erickson, Computers and the Humanities 9(6):291-298 (June 1975).
Dartmouth BASIC - Term for the original BASIC by Kemeny & Kurtz.
DAS - Digital Analog Simulator. Represents analog computer design.
DASL - Datapoint's Advanced System Language. Gene Hughes. A cross between
C and Pascal with custom features for Datapoint hardware (no stack), used
internally by Datapoint.
Data/BASIC - Also known as Pick BASIC. A BASIC-like language with database
capabilities, the main programming language on the Pick OS. "The
Data/BASIC Language - A Data Processing Language for Non-Professional
Programmers", P.C. Dressen, Proc SJCC 36, AFIPS (Spring 1970).
DATABUS - DATApoint BUSiness Language. Like an interpreted assembly
language, used for custom applications on Datapoint machines.
DATACODE I - Early system on Datatron 200 series. Listed in CACM 2(5):16
(May 1959).
Dataparallel-C - Hatcher & Quinn, U New Hampshire. C with parallel
extensions, based on an early version of C*. For Intel iPSC-2 and nCube.
Data Parallel Haskell - Adds PODs and POD comprehensions to Haskell.
(POD=Parallel Object with arbitrary Dimension) "Data Parallel Haskell:
Mixing Old and New Glue", J. Hill.
ftp://redstar.dcs.qmw.ac.uk/cpc/jon_hill/dpGlue.ps.Z
Data Structures Language - MAD dialect with extensions for lists and
graphics, on Philco 212. "A Compiler Language for Data Structures", N.
Laurance, Proc ACM 23rd Natl Conf 36 (1968).
DATA-TEXT - Harvard. Numerical computations in the Social Sciences.
"DATA-TEXT Primer", D.J. Armor, Free Press 1972.
DataVis - Dataflow language for scientific visualization. "Data Flow
Visual Programming Languages", D. Hils, J Vis Langs and Comput, Dec 1991.
dBASE - Language used by the dBASE system. First release was dBASE II, ca
1980. (There never was a "dBASE I") Later versions: dBASE III, dBASE
III+, and dBASE IV.
DBC - Data-parallel Bit-serial C. SRC, Bowie MD. Based on MPL.
info: maya@super.org
dBFAST - dBASE dialect for MS-DOS, MS-Windows.
DBPL - Procedural language with relational database constructs. A
successor to Pascal/R and Modula/R. "DBPL Report", J.W. Schmidt et al,
DBPL-Memo 111-88, Fachbereich Informatik, Johann Wolfgang
Goethe-Universitaet, Frankfurt, Germany, 1988.
dBXL - dBASE-like interpreter/language for MS-DOS from WordTech, Orinda,
CA.
dc - Desk Calculator. A stack-based mini-language and its interpreter,
shipped with every Unix since V7.
DCALGOL - Data Communications ALGOL. A superset of Burroughs Extended
ALGOL used for writing Message Control Systems.
DCDL - Digital Control Design Language. A language for simulating computer
systems. "DCDS Digital Simulating System", H. Potash et al, Proc FJCC 35,
AFIPS (Fall 1969).
DCG - A variant of BNF.
DCL -
1. DIGITAL Command Language. The interactive command and scripting
language for VAX/VMS.
2. Delphi Common LISP. An implementation of Common LISP that has been
used as a basis for CLOS.
DDL -
1. "A Digital System Design Language" (DDL)", J.R. Duley, IEEE Trans on
Computers c-17(9):850-861 (Sep 1968).
2. M. Urban, C. Kostanick et al, UCLA Computer Club. An adventure
language, the forerunner of ADL.
3. Data Definition Language. Specification language for a database based
on the entity-relationship model. Used in the Eli compiler-compiler to
manage type definitions. "DDL Reference Manual", ECE Dept U Colorado,
1991.
DDM - Dataflow language. "The Architecture and System Method of DDM-1: A
Recursively Structured Data Driven Machine", A. Davis, Proc 5th Ann Symp
Comp Arch, IEEE 1978.
DEACON - Direct English Access and CONtrol. English-like query system.
Sammet 1969, p.668.
Delirium - An embedding coordinate language for parallel programming,
implemented on Sequent Symmetry, Cray, BBN Butterfly. "Parallel
Programming with Coordination Structures", S. Lucco et al, 18th POPL,
pp.197-208 (1991).
Delta -
1. J.C. Cleaveland, 1978. Expression-based. [?]
2. Tandem. A string-processing language with single-character commands.
3. Language for system specification of simulation execution. "System
Description and the DELTA Language", E. Holback-Hansen et al, DELTA Proj
Rep 4, Norweg Comput Ctr, Feb 1977.
Delta-Prolog - Prolog extension with AND-parallelism, don't-know
nondeterminism and interprocess communication using synchronous event
goals. Distributed backtracking. "Delta-Prolog: A Distributed Logic
Programming Language", L.M. Pereira et al, Intl Conf 5th Gen Comp Sys, Nov
1984.
DEMON - Program generator for differential equation problems. N.W.
Bennett, Australian AEC Research Establishment, AAEC/E142, Aug 1965.
Design System language - J. Gaffney, Evans & Sutherland 1976. Interpretive
FORTH-like language for 3-D graphics databases. Earliest forerunner of
both Interpress and PostScript. Mentioned in PostScript Language Reference
Manual, Adobe Systems, A-W 1985.
DETAB - DEcision TABle. A. Chapman, 1964. Decision table COBOL
preprocessor. Sammet 1969, p.315. Versions: DETAB 65, DETAB X.
DETOL - Directly Executable Test Oriented Language. Simple language to
control a specific type of test equipment. "Improved DETOL Programming
Manual for the Series 5500 Automatic Test System, Pub. 5500-31-0-1, AAI
Corp. (Sep 1973).
Deva - Functional. "The Generic Development Language Deva: Presentation
and Case Studies", M. Weber et al, LNCS 738, Springer 1993.
DEX - W. van Oortmerssen. A cross between Modula-2 and C.
ftp://ftp.cso.uiuc.edu/pub/amiga/fish/f7/ff743/TurboDEX.lzh Version 1.2
for Amiga
DFC - Dataflow language. "Data Flow Lanuage DFC: Design and
Implementation", S. Toshio et al, Systems and Computers in Japan, 20(6):1-
10 (Jun 1989).
DG/L -
1. Descriptive Geometry Language. Early CAD/CAE language, used light
pen. "Interactive Graphic Consoles - Environment and Software", R.L.
Beckermeyer, Proc FJCC 37 (1970).
2. Data General ca 1973-1974. Derivative of ALGOL 60, developed from
DG's Algol-5, used as the systems language under AOS and RDOS for the DG
Eclipse family of computers. Replaced by PL/I in the early 80's. Data
General manual 093-000229-01.
DIALECT - High-level language for LALR grammars. Part of Software Refinery
from Reasoning Systems.
info: help@reasoning.com
DIALOG - Illinois Inst Tech, 1966. Interactive math using graphics tablet.
"DIALOG: A Conversational Programming System with a Graphical Orientation",
S.H. Cameron et al, CACM 10:349-357 (1967). Sammet 1969, p.255-258.
DIAMAG - An interactive extension of ALGOL. Sammet 1969, p.195.
Diamond - 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. Brilliant, Nonpareil, Pearl[3], Ruby[2]).
DIANA - Descriptive Intermediate Attributed Notation for Ada. Goos & Wulf,
CMU, Jan 1981. A de facto standard intermediate language for Ada programs.
An attributed tree representation, with an abstract interface defined in
IDL. Resulted from a merger of AIDA and TCOL.Ada. "DIANA - An
Intermediate Language for Ada", G.T. Goos et al, LNCS 161, Springer 1983.
DIBOL - Digital Interactive Business Oriented Language. DEC, 1970.
FORTRAN syntax with BCD arithmetic. Versions for PDP-8 and RT-11. ANSI
X3.165-1988.
Dictionary APL - nickname for Sharp APL.
Dijkstra's guarded command language - Edsger Dijkstra, ca. 1974.
Introduced the concept of guards and committed choice [=don't care]
nondeterminism. Described and used (but never named) in A Discipline of
Programming, E. Dijkstra, P-H 1976. Dijkstra later (1972) referred to this
language as DOVPA (Dijkstra's Own Version of Pidgin Algol).
DIMATE - Depot Installed Maintenance Automatic Test Equipment. For
automatic equipment tests, on RCA 301. "A Simple User-Oriented Source
Language for Programming Automatic Test Equipment", B.H. Scheff, CACM 9(4)
(Apr 1966). Sammet 1969, p.647.
DinnerBell - Object-oriented dataflow language with single assignment.
"Object-Oriented Load Distribution in DinnerBell", S. Kono
<kono@csl.sony.co.jp> et al, in TOOLS Pacific 90.
DINO - Data parallel language, a superset of C. "The DINO Parallel
Programming Language", M. Rosing et al, J Parallel Dist Comp 13(9):30-42
(Sep 1991). Implemented using ALADIN. "DINO Parallel Programming
Language", M. Rosing et al, CU-CS-457-90, U Colorado, April 1990.
ftp://ftp.cs.colorado.edu/pub/cs/distribs/dino/*
Disiple - DSP language. "A Compiler that Easily Retargets High Level
Language Programs for Different Signal Processing Architectures", J.E.
Peters & S.M. Dunn, Proc ICASSP 89, pp.1103-1106, (May 1989).
Dislang - "Dislang: A Distributed Programming Language/System", C. Li et
al, Proc 2nd Intl Conf Distrib Comp Sys, IEEE 1981, pp.162-172.
Distributed Eiffel - "Distributed Eiffel: A Language for Programming Multi-
Granular Distributed Objects on the Clouds Operating System", L. Gunaseelan
et al, IEEE Conf Comp Langs, 1992.
Distributed Processes -