[comp.lang.misc] The Language List, Version 1.1

billk@hawk.cs.ukans.edu (Bill Kinnersley) (04/28/91)

----

The Language List
Version 1.1

Collected information on over 900 languages, past and present.


Last Modified:  April 27, 1991

Bill Kinnersley
Computer Science Department
University of Kansas
Lawrence, KS 66045

billk@hawk.cs.ukans.edu


First release:  March 7, 1991

Started by:

Tom Rombouts
Ashton-Tate Product Development
20101 Hamilton Avenue, Torrance, CA  90277
Work: (213)538-7108

Home:
535 Esplanade, #502
Redondo Beach, CA  90277
Ans Svc: (213)543-3811

USENET:  tomr@ashtate.A-T.com

Introduction:  This document is intended to become among the longest lists
of computer programming language names ever assembled or compiled.  (But
not interpreted!  HHOJ)  It is more for fun than to be any sort of
scholarly, definitive list.

As of this writing, about 50 netters have contributed to it.  Their names
and e-mail addresses appear at the end.  It is my dream that this can
become a living document with at least one definitive reference work
included for each entry.

Most entries should ultimately contain the following information:

Name:  An explanation of the language name, which, in perhaps 80% of the
cases, is some form of acronym or abbreviation.

Date of first implementation:  When possible, a year in parentheses
indicates when a language first appeared.  Since the design,
implementation, and wide acceptance of a language can take place over a
several year period, such dates should be considered approximate.

Definitive reference work or publisher:  At least one reference work on the
language, in theory as definitive or as official as possible, should be
included.  In the case of a commercial product, the software publisher and
city is often listed.  Few people who see a language in this file should
ever have to ask: "How can I get more information on that language?"

"See also:"  Related languages or terms that may also be of interest.


Some various comments or criticisms:

"YOU LEFT OUT LANGUAGE ___!" - If this is the case, e-mail the relevant
information to whoever is maintaining this list.  (It may not be me by the
time you read this.)  A citing of at least one published reference to the
language will help determine authenticity.

"Clutter" - When in doubt, languages are included.  To compensate for this
"clutter" effect, more widespread languages such as C or FORTRAN should
have longer entries.

The "Published" Rule - In order to reduce clutter somewhat, a language
should be "published" to be included in this list.  There is no precise
criterion here.  To state a rough example, a language devised solely for a
PhD thesis would not necessarily be included.  However, if material on that
language was published in a technical journal or otherwise distributed, or
if it formed the basis for additional research, it should be included.

In case it is unclear, a language does NOT have to be implemented (actually
running on at least one computer) to be included.  Many theoretical
languages appearing in the ACM SIGPLAN Notices fall into this category. 
One gray area, however, is Internet/Usenet or RBBS distribution.  In
general, when in doubt, an entry will be included.

(Future builders of this list may be able to include a wider range of
academic "theory" languages.  I do not have the research resources for
this.  At minimum the author's name, university or company, and date should
be listed.)

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.

Languages vs. dialects - Again, when in doubt, a term was included.  Thus,
languages with many variants or flavors will have many extra entries.  This
is intended to make the document more useful to beginners, not to make
common languages appear more popular or "better."  (In defense of this
practice, any two implementations of a given language almost invariably
have at least a few differences.  Some have suggested that if there are
various command line arguments, each permutation of command line arguments
could also be considered a distinct language!  Note also that some names
("ML", "Vulcan") have been used for two or more distinct languages.

Languages vs. versions - There has been criticism that there are separate
entries for ALGOL 58, ALGOL 60, etc, but not for C++ 1.0, C++ 1.2, C++ 2.0,
etc.  This was simply an oversight on my part.  (I personally feel it is
easier to have separate entries for each, however.)  Any language that has
some sort of ANSI or IEEE standard should include the dates and versions
approved.  Also, for specific brands such as Turbo Pascal the versions and
release dates could be added within that entry.

Classification - This document makes no attempt at classification except by
name.  However, the following broad categories seem to apply:  assemblers,
general purpose languages, specialized languages, query languages, 4GL's,
application sub-languages, specification languages, experimental languages,
and theoretical languages.  The precise definitions of these categories can
be debated elsewhere.

Editorial Comments:  Warning - as in the many Usenet jargon files, some
entries here contain remarks that could be construed as editorial in
nature.  For instance, if one happened to called Pascal "ALGOL-like," it
might manage to offend both some ALGOL and some Pascal users.  Also, some
historical origin questions are disputed to this day.  This document is
intended to aid the student or researcher, not to ignite flame wars among
old-time hackers.  The reader is encouraged to refer to other sources for
more definitive discussions of any particular language.  When in doubt,
"supposedly" or a "(?)" may appear to warn that the material is uncertain. 
Phrasing like "somewhat" or "roughly" is also used liberally.

Brand names - Some entries, such as "Turbo Pascal" have drawn early
concern.  However, since many packages offer non-standard extensions to the
base language, it can be argued that from a BNF grammar point of view,
Microsoft C and Turbo C (for example) are two distinct languages.  On the
other hand, this is not intended to become a catalog of commercial
programming products.

Material in "[ ]" brackets clearly needs editorial work or research.

                        * * * * * * *


473L Query - English-like query system for Air Force 473L system.  Sammet
1969, p.665.

9 PAC - Early report generator, ca. 1961.  Sammet 1969, p.314.

A0 or A-0 - Possibly the first compiler ever.  Grace Hopper's team at
Remington Rand, 1952, for the UNIVAC I or II.   Later internal versions: A-
1, A-2, A-3, AT-3.  AT-3 was released as MATH-MATIC.  Sammet 1969, p.12.

ABC - Simple interactive language for beginners.  Infinite precision
arithmetic, multiple workspaces.  Indentation is significant.  "The ABC
Programmer's Manual", Leo Geurts et al, P-H 1989.
ftp: hp4nl.nluug.nl UNIX source, MSDOS and Mac executables.
list: abc-list@cwi.nl maintained by Steven Pemberton <steven@cwi.nl>.

ABCL/+ - Family of languages from Aki Yonesawa, Tokyo.

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) (Nov 1978) p.56.

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

ACT ONE - Specification language.

ACTUS - Language for the Illiac IV computer, derived from Glypnir. 
Descendants include Parallel Pascal, Vector C, and most recently CMU's
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, arguably the world's first computer
programmer.  Designed by Jean Ichbiah for the U.S. Department of Defense. 
Ada is a large, complex block-structured language.  Aimed primarily at
embedded computer applications, Ada 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)
repository - wsmr-simtel20.army.mil

Ada 9x - Revision of Ada currently under development.

ADAM - A DAta Management system.

Adaplex - An extension of Ada to incorporate the functional data model for
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.

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

AED -

  1. Automated Engineering Design.  Systems implementation language with
features similar to PL/I.  "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.

  2. ALGOL Extended for Design.  MIT ca. 1965.  Mentioned in the "DYNAMO
User's Manual".

AED-JR - Subset of AED?

AESOP - An Evolutionary System for On-line Programming.  On-line query
system used with light pen.  Sammet 1969.

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

AIMACO - AIr MAterial Command compiler.  Modification of FLOW-MATIC. 
Supplanted by COBOL.  Sammet 1969.

ALCOR - Subset of ALGOL.  Sammet 1969, p.180.

Aldat - Based on extended Algebra.  Listed by M.P. Atkinson & J.W. Schmidt
in a tutorial in Zurich, 1989.

ALEPH - A Language Encouraging Proram Hierarchy.  "On the Design of ALEPH",
D. Grune, CWI, Netherlands 1986.

Alfl - Functional, weakly typed.  For the Alfalfa system on the Intel iPSC. 
"Alfl Reference Manual and Programmer's Guide", P. Hudak, Res Report
YALEU/DCS/RR-322, Yale U, Oct 1984.

ALGEBRAIC - Early system on Whirlwind.  Listed in CACM 2(5):16 (May 1959).

ALGOL 58 - See IAL.

ALGOL 60 - ALGOrithmic Language.  Designed for scientific computations,
ALGOL 60 was small and elegant.  It was the first language to be described
in BNF.  There were three lexical representations: reference, hardware and
publication.
    Only three basic types: integer, real and boolean.  Arrays had lower
bounds.  Dynamic arrays.  Strong typing.  Data hiding with 'own' variables. 
No user-defined types.
    ALGOL 60 was the first block-structured language, with nested
procedures and blocks, nested syntax, compound statement with begin-end. 
Keywords.  Conditional expression.  Introduced :=, if-then-else, very
general 'for' loops.Switch declaration (an array of statement labels)
generalizing FORTRAN's computed goto. Procedures were recursive, and
parameters were pass-by-value and pass-by-name.
    "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, SIGPLAN Notices 12(1) 1977, with
erratum in Computer J 21(3):282 applicable to both.

ALGOL 60 Revised - "Revised Report on the Algorithmic Language ALGOL 60",
Peter Naur ed, CACM 6(1):1-17 (Jan 1963).

ALGOL 68 - The communication and efficient execution of algorithms.  A. van
Wijngaarden et al.  By contrast with ALGOL 60, ALGOL 68 was large and
complex, and posed difficulties for both implementors and users.
    Structural equivalence.  Automatic type conversion.  Flexible arrays. 
No abstract data types.
    if-then-elif-fi, for-from-by-to-while-do-od, integer case statement
with 'out' clause, skip statement, generalized loops, goto.
    Blocks, procedures and user-defined operators.  Procedure parameters. 
No separate compilation.  Concurrent execution and semaphores.  Generators
heap and loc for dynamic allocation.

ALGOL 68 Revised - "Revised Report on the Algorithmic Language ALGOL 68,"
Aad Van Wijngaarden et al, Acta Informatica 5:1-236 (1975), also Springer
1976, and SIGPLAN Notices 12(5):1-70 (May 1977).

ALGOL C - Clive Feather, Cambridge U, ca. 1981.  Variant of ALGOL 60; added
structures and exception handling.  Designed for beginning students.

ALGOL W - Derivative of ALGOL 60.  "A Contribution to the Development of
Algol", N. Wirth, CACM 9(6):413-431 (June 1966).

ALGOL X, ALGOL Y - General term for several proposed successors to ALGOL
60, Sammet 1969, p.194.

ALGY - Early language for formal algebra.  Sammet 1969.

ALJABR - Symbolic math.  Fort Pond Research.

ALLOY - "The Design and Implementation of ALLOY, a Parallel Higher Level
Programming Language", Thanasis Mitsolides <mitsolid@cs2.nyu.edu>, PhD
Thesis NYU 1990.
ftp: cs.nyu.edu:pub/local/alloy.

ALPAK - Related to ALTRAN?  Sammet 1969.

Alphard - Pascal-like.  "Abstraction and Verification in Alphard: Defining
and Specifying Iteration and Generators", M. Shaw, CACM 20(8):553-563 (Aug
1977)

ALTAC - An extended FORTRAN II for Philco 2000, built on TAC.  Sammet 1969,
p.146.

ALTRAN - W.S. Brown ca. 1968.  An extension of FORTRAN for formal rational-
function algebra.  "The ALTRAN System for Rational Function Manipulation -
A Survey", A.D. Hall, CACM 14(8):517-521 (Aug 1971).

Amber -

  1. Derived from ML and Galileo.  Concurrency, multiple inheritance. 
Programs must be written in two type faces, roman and italics!  Mac
implementation.  Both static and dynamic types.  "Amber", L. Cardelli, TR
Bell Labs 1984.

  2. An object-oriented distributed programming language based on a subset
of C++.  U Washington, late 80's.

AMBIT - Algebraic Manipulation by Identity Translation.  String handling.

AMBIT/L - Acronym May Be Ignored Totally.  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)

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

AMP - Symbolic math?

AMTRAN - Automatic Mathematical TRANslation.  System allowing input of
equations in seminatural format.

ANCP - Early system on Datatron 200 series.  Listed in CACM 2(5):16 (May
1959).

Animated Movie - Preparing animated movies.

Anna - ANNotated Ada.  ca. 1980.  Adds semantic assertions in the form of
Ada comments.  "ANNA - A Language for Annotating Ada Programs", David
Luckham et al, Springer 1987.
ftp: anna.stanford.edu

ANSI C - Revision of C, adding function prototypes, structure passing and
assignment, and a standard set of library functions.  ANSI X3.159-1989.

ANSI FORTH - Soon-to-be-adopted standard.

APL - A Programming Language.  Ken Iverson & Adin Falkoff, 1962 for the
concise expression of mathematical algorithms.  In fact APL programs tend
to be too concise.  APL is an interacive array-oriented language with many
innovative features, and 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.

Applesoft BASIC - Version of BASIC on Apple computers.

APT - Automatically Programmed Tools.  For numerically controlled machine
tools.  "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).

Argus - Distributed successor to CLU, under development.  LCS, MIT.

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.

ARTSPEAK - Simple language for drawing artistic diagrams on a plotter. 
"The Art of Programming, ARTSPEAK", Henry Mullish, Courant Inst (Nov 1974).

ASHMEDAI - Symbolic manipulation, mentioned as an influence on SMP.

ASL - A kernel language for algebraic specifications.  "An Introduction to
ASL", E. Astesiano et al in Program Specification and Transformation,
Elsevier 1987.

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

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

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

ASPIK - Specification language.

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 All Systems.  _THE_ mil-spec language
for programs to control automatic test equipment.  Replaced/upgraded Gaelic
and several other test languages.  "IEEE Standard ATLAS Test Language",
IEEE Std 416-1976.

Atlas Autocode - Ferranti Atlas may have been first commercial machine with
hardware-paged virtual memory.

Aurora - "The Aurora Or-Parallel Prolog System", E. Lusk et al, Intl Conf
on 5th Generation Comp Systems. 1988 ICOT, A-W 1988.

AUTOCODE - Early system on Ferranti Pegasus.  Listed in CACM 2(5):16 (May
1959).

AUTOCODER - Assembly languages on IBM 702, IBM 705.  Listed in CACM 2(5):16
(May 1959).

AUTOCODING - Early system on Ferranti Mercury.  Listed in CACM 2(5):16 (May
1959).

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.  "The Mathematical Language AUTOMATH,
Its Usage and Some of its Extensions", N.G. deBruijn, in Symp on Automatic
Demonstration, LNM v.125, Springer 1970.

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

Avalon/C++ - Fault-tolerant distributed systems.

AWK - Aho Weinberger Kernigan.  Simple yet powerful text processing/macro
language.  "AWK - A Pattern Scanning and Processing Language," A. Aho, B.
Kernigan, P. Weinberger, Bell Labs, Sep 1978.

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

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

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

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

BAL - What most people called IBM 360 assembler.

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

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

BALM - Extensible language with LISP-like features but ALGOL-like syntax. 
"The Balm Programming Language", Malcolm Harrison, Courant Inst (May 1973).

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

BASEBALL - Query system tied to baseball database.

bash - UNIX command shell?

BASIC - Beginner's All-purpose Symbolic Instruction Code.  John G. Kemeny &
Thomas E. Kurtz, mid 1960's.  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 others are compiled, including the original Dartmouth
BASIC.

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 - Variant of AWK.

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

BCPL - Basic Combined Programming Language.  M. Richards.  British systems
language, a predecessor of C.  BCPL is low-level, block-structured and
typeless, and provides only one-dimensional arrays.
    A variety of flow control: if-then, test-then-else, unless-do,
while-do, until-do, repeat, repeatwhile, repeatuntil, for-to-by-do, loop,
break and switchon-into.  BCPL has conditional expressions, pointers, and
manifest constants.  Parameters are call-by-value.
    Program segments communicate via the global vector where system and
user variables are stored in fixed numerical locations in a single array. 
"BCPL - The Language and its Compiler", Martin Richards & Colin
Whitby-Stevens, Cambridge U Press 1979.

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

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

BETA - The successor of SIMULA.

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

Bison - The GNU project's implementation of Yacc.  [How different from
Yacc?]

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

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

BLISS - Basic Language for Implementation of System Software.  Developed at
CMU for the PDP-10.  A low-level block-structured language, typeless,
expression-oriented, with exception handling facilities.  Gained fame from
its lack of a goto.  "BLISS: A Language for Systems Programming", W.A. Wulf
et al, CACM 14(12):780-790 (Dec 1971).  Versions: BLISS-11 for PDP-11,
BLISS-32 for VAX/VMS.

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

BLUE - A proposed language 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).

BMDP - Statistical language, from UCLA.

BNF - Backus Normal Form later renamed Backus-Naur Form.  Meta language to
define computer languages.

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

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

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

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

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

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

C* - No details.

C++ - Stroustrup.  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, and default function arguments.  It has
streams for I/O and references.
    "The C++ Programming Language", Bjarne Stroustrup, A-W, 1986.

C-10 - Improved version of COLINGO.  Sammet 1969.

C-Linda - No details.

C-Scheme - No details.

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

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

CAL - Dialect of JOSS.  Sammet 1969, p.217.

CAMAL - CAMbridge ALgebra system.  Computer algebra system used in
Celestial Mechanics and General Relativity.  Implemented in BCPL.  "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.

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 - Categorical Abstract Machine Language.  Lazy version of ML built on
the categorical abstract machine.
ftp: nuri.inria.fr

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

CAYLEY - Computer algebra 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.  Version: V3.7
info: cayley@maths.su.oz.au

CBASIC - A BASIC compiler.

CCalc - Symbolic math?

CCS - A specification language.  [Denmark?]

CDL -

  1. Computer Definition Language.  A language for describing and designing
computer architecture.  "Computer Organization and Microprogramming", Y.
Chu, P-H 1970.

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

Cedar - A 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), condition.  Multiprocessing
features include threads, monitors, signals and catch phrases.  "A
Description of the Cedar Language", Butler Lampson, Xerox PARC, CSL-83-15
(Dec 1983)

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

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)

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

CHASM - CHeap ASseMbler.  MS-DOS shareware assembler.

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

CHILL - CCITT HIgh-Level Language.  1988.  Standard in the telecomms
community, roughly Ada-like in scope but different in almost any detail you
might think of.

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

CIP-L - ?

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

CLAM - Computer algebra system specialized in General Relativity.  R.
d'Inverno & Russell-Clark in the early 70's. Implemented in ATLAS assembler
first, LISP later.

Clarion - MS-DOS 4GL.

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

CLIP - Compiled Language for Information Processing.  Based on ALGOL 58. 
Influenced JOVIAL.  Sammet 1969.

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

CLIPS - An expert system language, NASA JSC.

CLOS - Common LISP Object System.  Object-oriented extension to Common
LISP.  X3J13 Doc 88-002R, D.G. Bobrow et al.  SIGPLAN Notices 23 (spec
issue) Sep 1988.

CLP - Cornell List Processor.  Extension of CORC for list processing. 
Sammet 1969.

CLP-R - Constraint Language Programming - Real.  Contains a built-in
constraint solver over the domain of real numbers.  PROLOG-like syntax but
quite different semantics.

CLU - CLUster.  Late 70's.  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 have parameters.  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.
    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.

---
 End of Part 1

-- 
--Bill Kinnersley
  billk@hawk.cs.ukans.edu
226 Transfer complete.

billk@hawk.cs.ukans.edu (Bill Kinnersley) (04/28/91)

----

    "CLU Reference Manual", Barbara Liskov et al, Springer 1981.
ftp: pion.lcs.mit.edu - versions for Sun, VAX.
contact: prj@pm-prj.lcs.mit.edu (Paul R. Johnson)

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

CoCoA - Symbolic math?

COBOL - COmmon Business Oriented Language.  Simple computations on large
amounts of data.  The most widely-used language today.  Style is natural
language but verbose.  "Initial Specifications for a Common Business
Oriented Language" DoD, US GPO, Apr 1960.

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

COGENT - COmpiler and GENeralized Translator.  Compiler writing language
with element of list processing.  Sammet 1969.

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)

COLASL - Processing input of natural math expressions.  Sammet 1969.

COLINGO - English-like query system.  Sammet 1969.

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

COMIT - String-handling and pattern-matching, a predecessor of SNOBOL,
designed for applications in natural language translation.  The user had a
workspace organized into shelves.  Its only data element was the
constituent (a word), accessed by subscript.  Sammet 1969.  Version: COMIT
II - "Computer Programming with COMIT II", Victor Yngve, MIT Press.

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

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

Common LISP - An attempt to merge the various dialects of LISP into one. 
The result is a large and complex language.  Lexical binding, data
structures using defstruct and setf, closures, multiple values, types using
declare, a variety of numerical types.  Function calls allow optional,
keyword and &rest arguments.   Generic sequence can either be a list or an
array.  Formatted printing using escape characters.  "Common LISP Reference
Manual", Guy L. Steele, Digital Press 1984.
list: common-list@mcc.com.

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

Compas Pascal - Brand of Pascal?  From Denmark?

COMPASS - COMprehensive ASSembler.  Assembler on CDC 6500/6600s.

COMPREHENSIVE - Early system on 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 AFIPS FJCC, 33(2)
(1968)

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

Computer Design - Proposed language for computer design.  Sammet 1969.

COMTRAN - Early name for Commercial Translator.  "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.

Concurrent C - Variant of C with concurrent extensions.

Concurrent Euclid - 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.  The TUNIS OS is written in
Concurrent Euclid.  "Concurrent Euclid, The Unix System, and Tunis," R.C.
Holt, A-W, 1983.

Concurrent Pascal - "The Programming Language Concurrent Pascal", Per
Brinch Hansen, IEEE Trans. Soft. Eng. 1(2):199-207 (Jun 1975)

Concurrent Prolog - Never implemented.  "Concurrent Prolog: A Progress
Report", E. Shapiro, IEEE Computer, 19(8):45-58 (Aug 1986).

Concurrent Smalltalk - Variant of Smalltalk.

CONNIVER - AI language for automatic theorem proving.  An outgrowth of
PLANNER.  "The CONNIVER Reference Manual", D. McDermott & G.J. Sussman, AI
Memo 259, MIT AI Lab, 1973.

CONVERT -

  1. Additions to LISP.  Sammet 1969, p.388.

  2. Language to convert programs and data from one language to another. 
"CONVERT Manual", OLI Systems Inc (Oct 1976).

CORAL - Class Oriented Ring Associated Language.  Handled certain ring
types of lists on the TX-2.  (1964?)  Sammet 1969.  Another UK invention. 
Real time system programming language used by the Ministry of Defence and
its contractors until Ada arrived on the scene.

CORAL 66 - "Official Definition of CORAL 66", P.M. Woodward et al, HMSO,
London, 1970.

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.

CORREGATE - Based on IT.  Sammet 1969, p.139.

Coursewriter III - A simple language for preparing CAI lessons. 
"Coursewriter III, Version 3 Author's Guide", SH20-1009, IBM.

CPL - C. Strachey et al

CPS - Conversational Programming System.  Interactive extended subset of
PL/I.  "Conversational Programming System under TSO (PBPO), Terminal User's
Manual", SH20-1197, IBM.  Sammet 1969.

CRISP - A LISP-like compiler that ran on IBM 370 hardware.  It differed
from LISP in a number of interesting ways, one of which is that it
generalized the 2-part cons nodes to n-part.  Designed by Jeff Barnett, one
of the early LISPers.  SDC, Santa Monica, CA, early 70's?.

CROSSTABS - A simple language for statistical analysis of tabular data. 
"User's Manual for the CROSSTABS System", Cambridge Computer Assoc (Feb
1977)

Crystal - High level functional parallel language.

CS-4 - Mentioned in "An Overview of Ada", J.G.P. Barnes.

csh - C-Shell command shell interpreter for UNIX.

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

CSMP - Continuous System Modelling Program.  Used to simulate the dynamics
of continuous systems.  A dialect of CSSL?  "A Guide to Using CSMP - The
Continuous System Modeling Program", Frank H. Speckhart et al, P-H 1976.

CSP - Communicating Sequential Processes.  Experimental language based on
Hoare's theory of multi-processing.  "Communicating Sequential Processes",
A.R. Hoare, CACM 21(8):666-667 (Aug 1978).
[Is there another CSP that is a specification language?]

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.

CS/QCode - Used at Microsoft.

CSSL - Continuous Systems Simulation Language. Versions include ACSL,
HYTRAN, SL-I, S/360 and CSMP.  "The SCi Continuous System Simulation
Language (CSSL)", Simulation, 9(6) (Dec 1967).

Culler-Fried - On-line system for mathematics.  Sammet 1969.

CWIC - Compiler for Writing and Implementing Compilers.  One of the early
metacompilers.  Designed by Val Schorre.  He wrote a paper on an earlier
version "Meta-II: a Syntax Oriented Compiler Writing Language," Proc 19th
ACM Natl Conf 1964.

CYBIL - Control Data's answer to system programming languages in the 80's. 
Major parts of CDC systems written in this.

CypherText - Interactive language for text formatting and typesetting. 
"CypherText: An Extensible Composing and Typesetting Language", C.G. Moore
et al, Proc AFIPS FJCC v.37 (1970)

D - "The Data Language."  MS-DOS 4GL.

DACTL - Declarative Alvey Compiler Target Language.  An intermediate
language.  "DACTL - A Computational Model and Compiler Target Language
Based on Graph Reduction", J.R.W. Glauert et al, SYS-C87-03, U East Anglia,
Norwich, 1987.

DAISY 201 - Early system on G-15.  Listed in CACM 2(5):16 (May 1959).

Daplex - "The Functional Data Model and the Lata Language DAPLEX", D.W.
Shipman, ACM Trans Database Sys, 6(1):140-173 (Mar 1981).

DARE - Differential Analyzer REplacement.  A family of continuous
simulation languages.  "Digital Continuous System Simulation", G.A. Korn et
al, P-H 1978.

Dartmouth BASIC - Term for the original BASIC by Kemeny & Kurtz.

DAS - Digital Analog Simulator.  Represents analog computer design.

dataBASIC - Also known as PICK BASIC.  A BASIC-like language with database
capabilities, the main programming language on the PICK OS.  "The dataBASIC
Language - A Data Processing Language for Non-Professional Programmers",
P.C. Dressen, Proc AFIPS SJCC v.36 (1970)

DATA-TEXT - From Harvard.  Numerical computations in the Social Sciences. 
"DATA-TEXT Primer", D.J. Armor, Free Press 1972.

DATACODE I - Early system on Datatron 200 series.  Listed in CACM 2(5):16
(May 1959).

dBASE - Language used by the dBASE system.  First release was dBASE II. 
(There never was a "dBASE I")  Later versions: dBASE III, dBASE III+, and
dBASE IV.

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.

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 AFIPS
FJCC, v.35 (1969).

DCL - DIGITAL Command Language.  Equivalent of sh/csh for VAX/VMS.

DEACON - Direct English Access and CONtrol.  English-like query system. 
Sammet 1969, p.668.

Delta - Expression based, J.C. Cleaveland 1978.

DEMON - Program generator for differential equation problems.  N.W.
Bennett, Australian Atomic Engergy Commission Research Establishment,
AAEC/E142, Aug 1965.

DETAB - DEcision TABle.  Pre-COBOL business aid.  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).

DIALOG - Math computations using light pen.  Illinois Inst Tech, ca. 1966. 
Sammet 1969.

DIAMAG - On-line extension of ALGOL.  Sammet 1969.

DIANA - Descriptive Intermediate Attributed Notation for Ada.  "DIANA
- An Intermediate Language for Ada", G.T. Goos et al, LNCS No.161, Springer
1983.

DIBOL - DIgital Business Oriented Language.  DEC for RT-11.  Combines the
syntax of FORTRAN with the arithmetic capabilities of COBOL (integer BCD).

DIMATE - Depot Installed Maintenance Automatic Test Equipment.  For
automatic equipment tests.  Sammet 1969.

Disiple - A 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, (May 1989) pp.1103-1106.

Distributed Smalltalk - Variant of Smalltalk.

DMAD - Diagnostic Machine Aid-Digital.  Functional testing of digital
devices.  "DMAD M/MM Manual", BR-8392, Raytheon Co. (Oct 1973).

DMALGOL - Another ALGOL superset: extensions to interface to DMS II, the
Burroughs database.

DOCUS - Display Oriented Computer Usage System.  On-line system using push
buttons.

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

DOL - Display Oriented Language.  Subsystem of DOCUS.  Sammet 1969.

DOW COMPILER - Early system on Datatron 200 series.  Listed in CACM 2(5):16
(May 1959).

draco - Chris Gray, 1987.  A blend of Pascal, C and ALGOL 68.  Implemented
for CP/M-80 and Amiga.

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

DSL - Digital Simulation Language.  Extensions to FORTRAN to simulate
analog computer functions.  "DSL/90 - A Digital Simulation Program for
Continuous System Modelling", Proc AFIPS SJCC, vol 28 (1966).  DSL/90 was a
version that ran on the IBM 7090.  Sammet 1969.

DSP/C - A numerical extension to the C language, not necessarily DSP
specific, but sort of.  "DSP/C: A Standard High Level Language for DSP and
Numeric Processing", K. Leary & W. Waddington, Proc ICASSP 90, Apr 1990,
pp.1065-1068.

DSP32 Assembly Language:  A `high level' assembly language for the DSP32
Programmable DSP Chip.

DSPL:  Digital Signal Processing Language.  A C-derived DSP language.  "The
Programming Language DSPL," Albert Schwarte & Herbert Hanselmann, Proc PCIM
90, 1990.

DTALGOL - Decision Table Algol. A local (Victoria U, Wellington) superset
that added Decision Tables.  On Burroughs Large System.

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

DYANA - DYnamics ANAlyzer.  Early specialized language for vibrational and
other dynamics systems.  Sammet 1969.

DYNAMO - DYNamic MOdels.  Phyllis Fox & A.L. Pugh, 1959.  Continuous
simulations including economic, industrial and social systems.  Versions:
DYNAMO II, DYNAMO II/370, DYANMO II/F, DYNAMO III and Gaming DYNAMO. 
"DYNAMO User's Manual", A.L. Pugh, MIT Press 1976.

DYSAC - Digital Simulated Analog Computer.  Sammet 1969.

DYSTAL - Package of embeddable subroutines used in other languages.  Sammet
1969, p.388.

Eagle - dBASE-like dialect bundled with Emerald Bay, sold by Migent from
1986-1988.  (Became "Vulcan" when Wayne Ratliff re-acquired the product.)

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

EASIAC - Early system on Midac computer.  Listed in CACM 2(5):16 (May
1959).

EASY FOX - Early system on JOHNNIAC computer.  Listed in CACM 2(5):16 (May
1959).

EBASIC - Form of BASIC that led to CBASIC.

ECAP II - Electronic Circuit Analysis Program.  Simple language for
analyzing electrical networks.  "Introduction to Computer Analysis: ECAP
for Electronics Technicians and Engineers", H. Levin, P-H 1970.

ECL -  Extensible CL.  "ECL Programmer's Manual", B. Wegbreit, TR 23-74,
Harvard U (Dec 1974).

ECMA - Subset of ALGOL.  Sammet 1969, p.180.

ECSS II - Extendable Computer System Simulator.  An extension of SIMSCRIPT
II.  "The ECSS II Language for Simulating Computer Systems", D.W. Kosy, R-
1895-GSA, Rand Corp.

ECSSL - Formerly APSE.  Equation-oriented specifications for continuous
simulation models.  The compiler outputs HYTRAN, which must be run on an
analog processor.

Edison - Further simplification of Pascal.  "Edison - A Multiprocessor
Language", P. Brinch Hansen, CS Dept, USC, Sep 1980.

EDL - Experiment Description Language.  "A Programmable System for
Acquisition and Reduction of Respiratory Physiological Data", J. Steven
Jenkins (language author) et al, Ann Biomed Eng, 17:93-108 (1989).

EFL - Extended FORTRAN Language - preprocessor for FORTRAN to allow
structured programming.

Eiffel - Commercial object-oriented language, Bertrand Meyer, ca. 1986. 
Classes with multiple and repeated inheritance, assertions.  Deferred
classes (like Smalltalk's abstract class), and clusters of classes. 
Objects can have both static and dynamic types.  The dynamic type must be a
descendant of the static (declared) type.  Dynamic binding resolves clashes
from the multiple inheritance.  Flattened forms of classes, in which all of
the inherited features are added at the same level.  Generic classes
parametrized by type.  Persistent objects, garbage collection, exception
handling, interface to routines written in other languages.  "Eiffel, the
Language", Bertrand Meyer, P-H 1990.  Interacive Software Eng., Goleta CA.

EL 1 -  An extensible language, like LISP but with ALGOL-like syntax.  Used
as the basis for the ECL operating system. "The Treatment of Data Types in
EL1", B. Wegbreit CACM 17(5) (May 1974).

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

ELISP - Nickname for EMACS LISP.

Ellie - Object-oriented parallel language for fine-grained distributed
computers.  Based on BETA, Smalltalk, and others.  Birger Andersen (U
Copenhagen?)  Recent SIGPLAN Notice.

EMA - Extended Mercury Autocode.

EMACS LISP - Richard Stallman.  Variant of LISP used by EMACS editor. 
(This is the "offical" name, based on the EMAQS FAQ file.)

Emerald - The successor of EPL [?].  U Washington, early 80's.  An
object-oriented distributed programming language/environment. 
"Distribution and Abstract Types in Emerald", A. Black et al, IEEE Trans
Soft Eng SE-13(1):65-76 (Jan 1987).

English - Database language used in the PICK OS.

EOL-3 - Expression Oriented Language.  A low level language for strings. 
"EOL - A Symbol Manipulation Language", L. Lukaszewicz,  Computer J 10(1)
(May 1967).

EPL -

  1. Version of PL/I used by Bell and MIT during MULTICS development.  "EPL
Reference Manual", Project MAC, April 1966.  Sammet 1969, p.542.

  2. Experimental Programming Language.  David May.  Mentioned as having an
influence on the design of occam.

E-PROLOG - Edinburgh PROLOG, which eventually developed into the standard.

Eqlog - OBJ2 plus logic programming.  "Eqlog: Equality, Types and Generic
Modules for Logic Programming", J. Goguen et al in Functional and Logic
Programming, D. DeGroot et al eds, pp.295-363, P-H 1986.

ERFPI - Early system on LGP-30 computer.  Listed in CACM 2(5):16 (May
1959).

ES-1 - Early text editing interpreter.  Sammet 1969.

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

ESI - Dialect of JOSS.  Sammet 1969, p.217.

ESP -

  1. Extra Simple Pascal.  Subset of Pascal.

  2. Econometric Software Package.  Staistical analysis of time series. 
"Econometric Software Package, User's Manual", J.P. Cooper, Graduate School
of Business, U Chicago.  Sammet 1978.

ESPOL - An ALGOL superset used to write the MCP (Master Control Program) on
Burroughs Large System.  Obsoleted by NEWP.

Estelle - A specification language.  [Denmark?]

Esterel - A synchronous[?] language. "The ESTEREL Programming Language and
its Mathematical Semantics", G. Berry & L. Cosserat, INRIA, No. 327, 1984.

Euclid - A Pascal descendant for development of verifiable system software. 
No goto, no side effects, no global assignments, no functional arguments,
no nested procedures, no floats, no enumeration types.  Pointers are
treated as indices of special arrays called collections.  To prevent
aliasing, Euclid forbids any overlap in the list of actual parameters of a
procedure.  Each procedure gives an imports list, and the compiler
determines the identifiers that are implicitly imported.  Iterators.  
"Report on the Programming Language Euclid", B.W. Lampson et al, SIGPLAN
Notices 12(2) (1977).

EULER - Revision of ALGOL.  A small predecessor of Pascal.  N. Wirth, CACM
9:1-2 (1966)

Eva - Described in "Formal Specification of Programming Languages:  A
Panoramic Primer", Frank G. Pagan, P-H.

Extended ALGOL - Used to write the ESPOL compiler on Burroughs B5500,
B6700.  "Burroughs B6700 Extended ALGOL Language Information Manual", No.
5000128 (Jul 1971)  Sammet 1969, p.196.

FACT - Fully Automated Compiling Technique.  Pre-COBOL English-like
business DP language, ca. 1959. (Aka Honeywell-800 business compiler.) 
Sammet 1969, p.327.

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

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

FASE - Fundamentally Analyzable Simplified English.  L.E. McMahon, Bell
Labs  Sammet 1969, p.720.

FAST - FORTRAN Automatic Symbol Translator.  Early system on IBM 650 by
MITRE Corp.  Listed in CACM 2(5):16 (May 1959).  Sammet 1969, p.526.

FEL - Functional.  "FEL Programmer's Guide", R. M. Keller, AMPS TR 7, U
Utah, March 1982.

FFP - Formal FP.  "Can Programming be Liberated From the von Neumann Style? 
A Functional Style and Its Algebra of Programs", John Backus, 1977 Turing
Award Lecture, CACM 21(8):165-180 (Aug 1978).

FGRAAL - FORTRAN Extended GRAph Algorithmic Language.  A FORTRAN extension
for handling sets and graphs.  "On a Programming Language for Graph
Algorithms", W.C. Rheinboldt et al, BIT 12(2) 1972.

File Composition - A typesetting language.  "File Composition System
Reference Manual", No. 90388, Information International.

FL - Function Level.  John Backus, ca. 1985?  Successor to FP.  Allows
higher higher-order functions to be defined, adds exceptions, user-defined
types, and other features.  "FL Language Manual, Parts 1 & 2", J. Backus et
al, IBM Research Report RJ 7100 (1989).

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

FLAP - Symbolic math.  "FLAP Programmer's Manual", A.H. Morris Jr.,
TR-2558 (1971) U.S. Naval Weapons Lab.  Sammet 1969, p.506.

Flavors - LISP with object-oriented features.  Weinreb & Moon, 1980.
"Object-Oriented Programming with Flavors", D.A. Moon, ACM OOPSLA '86 Conf
Proc, (Oct 1986) pp.1-8.

FLEX - Faster LEX.  [Language different from lex?]  "The FLEX Scanner
Generator" Vern Paxson, Real Time Systems, LBL, CA.

FLIC - Functional Language Intermediate Code.  "FLIC - A Functional
Language Intermediate Code", S. Peyton Jones et al., RR 148, U Warwick, Sep
1989.

FLIP - Early system on G-15.  Listed in CACM 2(5):16 (May 1959).

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

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

FLOW-MATIC or FLOWMATIC - Possibly first (UNIVAC I) English-like DP
language.  Remington Rand, 1958.  Sammet 1969.  (Original name was B-0.)

FLPL - FORTRAN Compiled List Processing Language.  Package of subroutines
for FORTRAN, ca. 1960.  Sammet 1969, p.388.

FOCAL - FOrmula CALculator.  BASIC-style interpreter from DEC, designed
1969 for PDP-5/PDP-8's.  Versions: FOCAL-69, FOCAL-1971, FOCAL-11 (for PDP-
11 under RT-11).

FOCUS - Hierarchical database language.  Information Builders Inc.

FOIL - File Oriented Interpretive Language.  For writing CAI lessons. 
"FOIL - A File Oriented Interpretive Language", J.C. Hesselbart, Proc ACM
23rd National Conf (1968).

foogol - comp.sources.unix/V8

FOOPS - OBJ2 plus object-oriented programming.  "Extensions and Foundations
for Object-Oriented Programming", J. Goguen et al, in Research Directions
in Object-Oriented Programming, B. SHriver et al eds, MIT Press 1987.
 
FORC - Early system on IBM 704.  Listed in CACM 2(5):16 (May 1959).

Force - dBASE dialect for MS-DOS.

FORM - Large scale symbolic manipulation.  Jos Vermaseren
<t68@nikhefh.nikhef.nl>  Especially designed for speed in handling very
large calculations.  A successor to SCHOONSCHIP.  Available for many PC's
and workstations.
ftp: acm.princeton.edu, nikhefh.nikhef.nl

FORMAC - FORmula MAnipulation Compiler.  Extension of FORTRAN, later PL/I. 
J. Sammet & Tobey, IBM Boston APD, 1962.  Versions: PL/I-FORMAC and
FORMAC73.  Sammet 1969, p.473.

FORMAL - FORmula MAnipulation Language.  An extension of FORTRAN for formal
algebra.  "FORMAL, A Formula Manipulation Language", C.K. Mesztenyi,
Computer Note CN-1, CS Dept, U Maryland (Jan 1971)

FORMAT-FORTRAN - FORTRAN Matrix Abstraction Technique FORTRAN. 
Manipulation, printing and plotting of large matrices.  "FORMAT-FORTRAN
Matrix Abstraction Technique (Vol. V)" AFFDL-TR-66-207, Douglas Aircraft Co
(Oct 1968).

Formula ALGOL - Extension of ALGOL.  Carnegie, CDC G-20, 1962.  A.J. Perlis
& R. Iturriaga.  Sammet 1969, p.583.

FORTH - Fourth.  Charles H. Moore, 1960's, to increase programmer power. 
First use was controlling the telescope at NRAO, Kitt Peak.  FORTH is an
interactive extensible language using postfix syntax and a stack for data. 
A program is a set of recursive functions ("words") which are compiled by
an outer interpreter into bytecodes.  FORTH is small and efficient, but
programs can be difficult to read.  Versions include FORTH 79 and FORTH 83. 
FORTH Interest Group, Box 1105, San Carlos CA 94070.

FORTRAN - FORmula TRANslator.  John Backus, IBM 1954 for IBM 704.

FORTRAN I - Released 1957.

FORTRAN II - 1958.  Added subroutines.

FORTRAN III - This was only distributed to ca. 20 sites.  See Wexelblat.

FORTRAN IV - 1962.

FORTRAN V - Preliminary work on adding character handling facilities by IBM
ca. 1962.  This name never really used.

FORTRAN VI - Internal IBM name for early PL/I work ca. 1963.  Sammet 1969,
p.540.

FORTRAN 66 - FORTRAN IV standardized.  ASA X3.9-1966.

FORTRAN 77 - Block IF, PARAMETER, SAVE statements added, still no WHILE. 
Fixed-length character strings, format-free I/O, arrays with lower bounds. 
ANSI X3.9-1978.

Fortran 8x - Proposed superset of FORTRAN 77.  "Fortran 8x Explained", M.
Metcalf, Clarendon Press 1989.

Fortran 9x - Current name for the proposed FORTRAN revision.

FORTRANSIT - FORTRAN Internal Translator.  Subset of FORTRAN translated
into IT on the IBM 650.  Sammet 1969, p.141.

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

FoxBASE+ - dBASE III+-like product from Fox Software, Perrysburg, OH.

FoxPRO - dBASE IV-like product from Fox Software, Perrysburg, OH.

FP - Functional Programming.  Combinator based.  "Can Programming be
Liberated From the von Neumann Style?  A Functional Style and Its Algebra
of Programs", John Backus, 1977 Turing Award Lecture, CACM 21(8):165-180
(Aug 1978).

FP/M - An intermediate language for functional languages.  "The Compilation
of FP/M Programs into Conventional Machine Code", A.J. Field, Imperial
College, London, 1985.

FQL - A functional database language.  "An Implementation Technique for
Database Query Languages", O.P. Buneman et al, ACM Trans Database Sys
7(2):164-186 (June 1982).

Franz Lisp - Variant of LISP.

FRED - Framework (MS-DOS app) language, Ashton-Tate.  Robert Carr.

FRINGE - Subcomponent of GE-255 GECOM system.  Sorting and merging of data,
reports and file maintenance.  C. Katz, GE, 1961.

FSL - Formal Semantics Language.  Used for compiler writing.  Feldman ca.
1966.  Sammet 1969, p.641.

Fun - "On Understanding Types, Data Abstractions and Polymorphism", L.
Cardelli et al, ACM Comp Surveys 17(4) (Dec 1985).

Funlog - Functional programming plus semantic unification.  "FUNLOG: A
Computational Model Integrating Logic Programming and Functional
Programming", P.A. Subrahmanyam et al, in Logic Programming: Functions,
Relations and Equations, D. DeGroot et al eds, P-H 1986.

FX-87 - Effects.  A polymorphically typed language that allows side effects
and first-class functions.  Tries to integrate functional and imperative
programming.  "The FX-87 Reference Manual", G. Gifford et al, MIT/LCS/TR-
407, Oct 1987.  Version: FX-89.
ftp: brokaw.lcs.mit.edu

G++ - Implementation of C++ by Free Software Foundation's Project GNU.

Gabriel: A graphical DSP language for simulation and real systems.  "A
Design Tool for Hardware and Software for Multiprocessor DSP Systems," E.A.
Lee, E. Goei, J. Bier & S. Bhattacharyya, DSP Systems, Proc ISCAS-89, 1989.

Gaelic - For automated test programs.  Used in military, essentially
replaced by ATLAS.

Galileo - "Galileo: A Strongly Typed Interactive Conceptual Language", A.
Albano et al, ACM Trans Database Sys 10(2):230-260 (June 1985).

GAMMA - Generating matrices and mathematical programming reports.  "GAMMA
3.3 for MPS/MPSX, IBM System /360", Bonnor & Moore Assocs (Mar 1975).

GAP - Symbolic math?

Gargoyle - For compiler writing.  J.V. Garwick, CACM 7(1):16-20, (Jan
1964).

GAT - Generalized Algebraic Translator.  Improved version of IT.  On IBM
650 RAMAC.  Sammet 1969, p.142.

GATE - Based on IT.  Sammet 1969, p.139.

GECOM - Somewhat akin to COBOL with some ALGOL features added.  Comprised
of ALGOL, COBOL, FRINGE and TABSOL.  FRINGE and TABSOL may not have
actually been implemented.  Sammet 1969, p.329.

Gedanken - 1970 Reynolds

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

GIM-1 - Generalize Information Management Language.  Nelson, Pick, Andrews. 
Proc SJCC, 29:169-73.

GIN - Special-purpose macro assembler used to build the GEORGE 3 operating
system for ICL1900 series machines.

GIRL - Graph Information Retrieval Language.  Handling directed graphs. 
"Graph Information Retrieval Language", S. Berkowitz, Report 76-0085, Naval
Ship Research and Development Center, (Feb 1976)

GKS - Graphical Kernel System.

GLYPNIR - An ALGOL-like language with parallel extensions.  Similar to
ACTUS.  "GLYPNIR - A Proramming Language for the Illiac IV", D.H. Lawrie et
al, CACM 18(3) (Mar 1975)

GOL - General Operating Language.  Subsystem of DOCUS.  Sammet 1969, p.678.

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

GOSPL - Graphics-Oriented Signal Processing Language.  A graphical DSP
language for simulation.  C.D. Covington, G.E. Carter & D.W. Summers,
"Graphic Oriented Signal Processing Language - GOSPL", Proc ICASSP-87,
1987.

GPL - Generalized Programming Language.  General purpose language in spirit
of ALGOL.  Sammet 1969, p.195.

GPM - General Purpose Macro-generator.  C. Strachey, 1965.  Similar to
TRAC.  Sammet 1969, p.450.

GPS - Early AI attempt.  "Computers and Thought", McGraw-Hill, 1963.  [May
not have been a language.]  Sammet 1969, p.466.

GPSS - General Purpose Systems Simulator.  Geoffrey Gordon, 1960.  Discrete
simulation problems.  "The Application of GPSS V to Discrete System
Simulation", G. Gordon, P-H 1975.  Versions include GPSS II (1963), GPSS
III (1965), GPS/360 (1967), and GPSS V (1970).

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

GRAF - GRaphic Additions to FORTRAN.  Added graphic data-type to FORTRAN. 

---
 End of Part 2

-- 
--Bill Kinnersley
  billk@hawk.cs.ukans.edu
226 Transfer complete.

billk@hawk.cs.ukans.edu (Bill Kinnersley) (04/28/91)

----

Sammet 1969, p.674.

Graphic ALGOL - Generation of shaded perspective picures in real time.
"An Extended ALGOL-60 for Shaded Computer Graphics", B. Jones, Proc ACM
Symp on Graphic Languages, Apr 1976.

Graphic Language - For specifying graphic operations.  Sammet 1969, p.677.

GREEN - A proposed language to meet the DoD Ironman requirements which led
to Ada.  This language was the winner.  "On the GREEN Language Submitted to
the DoD", E.W. Dijkstra, SIGPLAN Notices 13(10):16-21 (Oct 1978).

GWBASIC - Gee Whiz BASIC.

Gypsy - Specification and verification of systems software.  A program is
made up of separately compilable units: routine (procedure, function, or
process), type and constant definition.  Each unit is provided with a list
of access rights. "Report on the Language Gypsy", A.L. Ambler et al, UT
Austin ICSCS-CMP-1 Aug 1976.

HAL/S - Real-time language used by NASA for onboard shuttle software. 
"Two-Dimensional Characteristics of HAL, A Language for Spaceflight
Applications", J.S. Miller, SIGPLAN Notices 7(10) (Oct 1972).

Haskell - Named after logician Haskell B Curry.  Haskell is a modern
functional language with static polymorphic typing, lazy evaluation,
higher-order functions, non-strict semantics, user-defined algebraic data
types, and pattern-matching list comprehensions.  It is largely derived
from Miranda, with the addition of a class system, operator overloading, an
IO system, functional arrays, and separate compilation.  Lazy, purely
functional, designed by a committee drawn from the functional programming
community.    Currently one compiler in general circulation, and at least
two more available RSN.   "Report on the Programming Language Haskell",
Paul Hudak & P. Wadler eds, CS Dept, U Glasgow, UK. (Apr 1990).
ftp: nebula.systemsz.cs.yale.edu
list: haskell-request@cs.yale.edu, HASKLD-L@YALEVM.BITNET.
Yale Haskell - implemented in T
Glasgow Haskell - implemented in Chalmers LML

HASL - SASL plus conditional unification.  "A Prological Definitioin of
HASL, A Purely Functional Language with Unification Based Conditional
Binding Expressions", H. Abramson in Logic Programming: Functions,
Relations and Equations, D. DeGroot et al eds, P-H 1986.

Hermes - Complex distributed systems.  A follow-on effort to NIL[2],
developed at TJWRC, IBM.  "Hermes: A Language for Distributed Computing",
Strom et al, P-H 1991, ISBN 0-13-389537-8.
ftp: software.watson.ibm.com

Honeywell-800 business compiler - Apparent early name of FACT, ca. 1959. 
Sammet 1969, p.327.

Hope - "springs eternal", and so forth.  R.M. Burstall, U Edinburgh 1978. 
Functional language with polymorphic types, call-by-pattern, and lazy
lists.  "HOPE, an Experimental Applicative Language", R.M. Burstall et al,
Conf Record of the 1980 LISP Conf, p.136-143 (Aug 1980), "A HOPE Tutorial",
BYTE Aug 1985, pp.235-258.
ftp: brolga.cc.uq.oz.au.  Lazy variant for UNIX, Mac and PC.

HOS-STPL - Hospital Operating System - STructured Programming Language.  A
FORTRAN-like language with sructured extensions.  "HOS-STPL User Manual",
Health Services Research, US Public Health Service (Jan 1975).

HPGL - Hewlett-Packard Graphics Language.  Document description language
used by HP LaserJet printers.

HyperTalk - The programming language for Macintosh HyperCard.

IAL - International Algebraic Language.  Original name of ALGOL 58.
"Preliminary report - International Algebraic Language", CACM 1(12):8
(1958).

ICE - In Circuit Emulator.  Term used for virtual CPU emulators used in
embedded systems.

ICEBOL - Variant of SNOBOL. [I thought this was the name of a conference?]

ICES - Integrated Civil Engineering System.  Subsystems include COGO,
STRUDL, BRIDGE, LEASE, PROJECT, ROADS and TRANSET.  Internal langguages
include ICETRAN and CDL.  "An Integrated Computer System for Engineering
Problem Solving", D. Roos, Proc AFIPS SJCC 27(2) 1965.  Sammet 1969.

ICETRAN - An extension of FORTRAN IV.  Component of ICES.  Sammet 1969,
p.617.

Icon - Griswold, 1970's.  A descendant of SNOBOL4 with Pascal-like syntax. 
Icon is a general-purpose language with special features for string
scanning.  Dynamic types.  The central theme of Icon is the generator: when
an expression is evaluated it may be suspended and later resumed, producing
a result sequence of values until it fails.  This resumption takes place
implicitly in two contexts: iteration which is syntactically like a loop
(every-do), and goal-directed evaluation in which a conditional expression
automatically attempts to produce at least one result.  Expressions that
fail are used in lieu of Booleans.  Data backtracking is supported by a
reversible assignment.  Icon also has co-expressions, which can be
explicitly resumed at any time.  "The Icon Programming Language", Ralph &
Marge Griswold, P-H 1983.
ftp: arizona.edu
list: icon-group@arizona.edu

IDL - Interface Description Language.  J. Nestor et al, CMU 1982.
Description of data structures to be passed between the components of an
application.  "The Interface Description Language", R. Snodgrass, Computer
Science Press 1989.
list: info-idl@sei.cmu.edu

Id Nouveau - (or Id for short).  Single assignment language for a dataflow
architecture.  "Id-Nouveau Reference Manual", R.S. Nikhil, CS TR, MIT,
March 1988.

I-D-S/I - Integrated Data Store.  Extension to COBOL involving ring type
lists.  Formerly IDS.  "A General Purpose Programming System for Random
Access Memories", C.W. Bachman et al, Proc AFIPS FJCC 26(1) 1964.  Sammet
1969, p.376.

IF1 - Intermediate language for dataflow compilers.  "The Manchester
Prototype Dataflow Computer", J.R. Gurd etal, CACM 28(1):34-52 (Jan 1985).

IFIP - Subset of ALGOL.  Sammet 1969, p.180.

IFP - Illinois FP.  Variant of FP with a significantly different syntax. 
"The Illinois Functional Programming Interpreter", Arch D. Robison, Proc
1987 SIGPLAN Conf on Interpreters and Interpretive Techniques (June 1987). 
"Illinois Functional Programming: A Tutorial", Arch D. Robison, BYTE Feb
1987.
ftp: cs.uiuc.edu

IGL - Interactive Graphic Language.  Used primarily by Physics researchers
at Brooklyn Poly, uses numerical methods on vectors to approximate
continuous function problems that don't have closed form solutions.

IITRAN - Simple FORTRAN for students.  "The IITRAN Programming Language",
B. Dewar et al, CACM 12(10):569-575 (Oct 1969).

ILLIAC - Early system on ILLIAC computer.  Listed in CACM 2(5):16, (May
1959) p.16.

IMP -

  1. Derivative of BCPL and ALGOL for systems programming.  Used in
Edinburgh to code the Edinburgh Multi Access System (EMAS), one of the
first OS's written in a high level language, apparently predating UNIX. 
References are in J British Computer Soc.

  2. "Experience with an Extensible Language", Edgar T. Irons, CACM
13(1):31-39 (Jan 1970)

Info BASIC - Variant of PICK BASIC used with Prime's PRIMOS OS.

Information Algebra - Theoretical formalism for DP, never resulted in a
language.  Language Structure Group of CODASYL, ca. 1962.  Sammet 1969,
709.

Inglish - English-like language used for Adventure games like "The Hobbit"
(could distinguish between "take the rope and axe" and "take the money and
run").

INTELLECT - A query language - Larry Harris, 1977.

INTERCAL - Compiler Language With No Pronounceable Acronym.  Has nothing at
all in common with any other major programming language.  Developed
Princeton U, May 26, 1972.  "The INTERCAL Programming Language Reference
Manual", Donald R. Woods & James M. Lyon.  C-INTERCAL is an implementation
by Eric Raymond, distributed on Usenet.
ftp: snow.white.toronto.edu, also comp.sources.misc/Volume16

INTERCOM - Early system on G-15.  Listed in CACM 2(5):16 (May 1959).
Versions: INTERCOM 101, INTERCOM 1000.

INTERLISP - A rich environment for LISP.

Interpress - The first page description language, predating PostScript. 
Used on Xerox printers.  "Interpress, The Source Book", Steven Harrington
et al, P-H 1988.

IPL - Information Processing Language.  Allen Newell & J.C. Shaw, Carnegie
ca. 1956.  Said to be the first list-processing language, very low level. 
Sammet, 69.  "Implementation Procesing Language-V Manual", A. Newell ed.,
P-H 1965.  Versions: IPL-I, IPL-II, IPL-III, IPL-IV, IPL-V, IPL-VI.

Ironman - Set of DoD requirements that led to Ada.  "Department of Defense
Requirements for High Order Computer Programming Languages", SIGPLAN
Notices 12(12):39-54 (Dec 1977).

ISETL - Symbolic math [?]

ISIS - Dialect of JOSS.  Sammet 1969, p.217.

ISO Pascal - Pascal standard, ISO 7185-1982.  Changes from Jensen & Wirth
Pascal include: Name equivalence.  Names must be bound before they are
used.  Loop index must be local to the procedure.  Formal procedure
parameters must include their arguments.  Conformant array schemas.  

ISPL - Instruction Set Processor Language.  Description language for
computer architecture, written in BLISS.  "Computer Structures: Readings
and Examples", C.G. Bell et al, McGraw-Hill 1971.

ISWIM - If You See What I Mean.  ISWIM is a purely functional sugaring of
lambda calculus, and has become the ancestor of most modern applicative
languages.  Syntactically an ISWIM program is a single expression qualified
by "where" clauses: auxiliary definitions including equations among
variables, conditional expressions and function definitions.  ISWIM was the
first language to use lazy evaluation.  "The Next 700 Programming
Languages", P.J. Landin, CACM 9(3):157-166 (Mar 1966).

IT - Internal Translator.  Used early for math on IBM 650.  Sammet, 1969. 
Version: IT 3.

Iverson's Language - APL, which went unnamed for many years.  Sammet 1969,
p.770.

J - The latest successor to APL, from Iverson Software.
ftp: watserv1.waterloo.edu

J3 - A dialect of JOVIAL.  "Military Standard JOVIAL (J3)", MIL-STD-1588
(USAF) (June 1976).

J73 - A dialect of JOVIAL.  "Military Standard JOVIAL (J73)", MIL-STD-1589
(USAF) (Feb 1977).

Jade - A strongly-typed language that is object-oriented but without the
usual class hierarchy.  A type research language.  Implemented as a
compiler that produces Smalltalk as the output code.  U Washington, late
80's.  [The submitter claimed Jade has exactly one user!]

Janus - Built on PROLOG.  "Programming in Janus", Saraswat, Kahn & Levy.
ftp: cs.arizona.edu

JAZ - Early system on LGP-30.  Listed in CACM 2(5):16 (May 1959).

JCL - Job Control Language.  Batch language on IBM OS/360 systems. 
Notoriously difficult to program in.

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

JOSS - JOHNNIAC Open Shop System.  Charles L. Baker.  An early simple
interactive calculator language.  "JOSS Users' Reference Manual", R.L.
Clark, Report F-1535/9, RAND Corp.  (Jan 1975)  Sammet 1969, p.217. 
Versions include JOSS I and JOSS II.

JOVE - Johnathan's Own Version of Emacs.  Johnathan Payne.

JOVIAL - Jule's Own Version of IAL.  Jules I. Schwartz 1960.  Based on
ALGOL 58 but with extensions for large scale real-time programming.  Saw
extensive use by the US Air Force.  The data elements were items, entries
(records) and tables.  CACM 6(12) (Dec 1960)p.721.  Versions include JOVIAL
I (IBM 709, 1960), JOVIAL II (IBM 7090, 1961) and JOVIAL 3 (1965). 
Dialects J3, JOVIAL J73, JS, JTS.

Joyce - Language for distributed computers, based on CSP and Pascal.
Designed by Per Brinch Hansen, Denmark.

JPLDIS - Jet Propulsion Laboratory Display Information System.  Query
system (based on Tymshare's "Retrieve") for UNIVAC 1108 [or was it PDP's?]
written in FORTRAN at JPL, Pasadena, CA by Jack Hatfield, George Masters,
W. Van Snyder, Jeb Long et al.  Indirectly led to Vulcan which led to dBASE
II.

JS - Dialect of JOVIAL.  Sammet 1969, p.639.

JTS - Simple dialect of JOVIAL.  Sammet 1969, p.528.

K5 - Early system on Larc computer.  Listed in CACM 2(5):16 (May 1959).

Kaleidoscope - Imperative object-oriented constraint programmming language. 
U Washington and Universite de Nantes, late 80's.  [The submitter claims
Kaleidoscope has exactly one user!]

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

Klerer-May - Two dimensional math expressions.  Sammet 1969, p.284.

KOMPILER - Early system on IBM 701.  Listed in CACM 2(5):16 (May 1959).
Versions: KOMPILER 2 for IBM 701, KOMPILER 3 for IBM 704.

K&R C - C as originally described in "The C Programming Language", B.
Kernighan and D. Ritchie, in contrast to the proposed ANSI standard C.

KRC - Kent Recursive Calculator.  Turner 1981.  Lazy functional language
with pattern-matching, based on SASL.  "Functional Programming and its
Applications", D.A. Turner, Cambridge U Press 1982.

ksh - Korn Shell command shell interpreter for UNIX.

KCL - Kyoto Common LISP
ftp: rascal.ics.utexas.edu

L6 - Bell Telephone Laboratories Low-Level Linked List Language.  List
processing language.  "A Programmer's Description of L6, Bell Telephone
Laboratories' Low-Level Linked List Language" CACM 9(8) (Aug 1966).  Sammet
1969.

Lakota - No details

Laning and Zierler - On Whirlwind computer at MIT in 1953.  Sammet 1969.

LAP - Assembly language embedded into early LISP.  Sammet 1969, p.597.

Larch - "The Larch Family of Specification Languages", J.V. Guttag et al,
IEEE Software 2(5):24-365 (Sep 1985).

LaTeX - An extension of TeX.  "LaTeX, A Document Preparation System",
Leslie Lamport, A-W 1986.

LDT - Logic Design Translator.  Computer system design analysis.  Sammet
1969, p.621.

LEAP - Language for the Expression of Associative Procedures.  An
ALGOL-based formalism for sets and associative retrieval operations. 
Became part of SAIL.  "An ALGOL-based Associative Language", J.A. Feldman
et al, CACM 12(8) (Aug 1969)

LECOM - Version of COMIT on GE 225 ca. 1966.  Sammet 1969, p.419.

LEDA - Combined imperative, object-oriented, and logic programming
language.  Tim Budd, Oregon State U. <budd@cs.orst.edu>

Lex  - Input language to the Lex scanner generator.  "Lex - A Lexical
Analyzer Generator", M.E. Lesk, CS TR 39, Bell Labs (Oct 1975).

LG - A simple language for analyic geometry, with graphic output.  "LG: A
Language for Analytic Geometry", J. Reymond, CACM 12(8) (Aug 1969)

LIMDEP - Linear programming language used by economists.

Linc - The Burroughs/Unisys (it's still very current) 4GL.  Designed in New
Zealand.

LINDA - Language for parallel processing with communication via a shared
tuple space (actually, just a subroutine library).

Lincoln Reckoner - On-line math system on TX-2, ca. 1965.  Sammet 1969,
p.245.

LIPL - Linear IPL.  Dupchak, ca. 1965.  Sammet 1969, p.394.

LIS - "The System Implementation Language LIS", J.D. Ichbiah, CII, France
(Dec 1974).

LISP - LISt Processing.  John McCarthy et al, MIT late 50's.  Symbolic
functional recursive language used in many AI applications.  Many dialects. 
Atoms and lists.  Programs are themselves represented as list structures. 
Only numeric type is floating point.
Versions include LISP 1 (Original version), LISP 1.5 (MIT, 1959), LISP
1.75, LISP 1.9, and LISP 2 (an ALGOL variant of LISP).

Lispkit - Purely functional version of LISP.  "Functional Programming,
Application and Implementation", P. Henderson, P-H 1980.

LITTLE - Typeless language used to produce machine-independent software. 
LITTLE has been used to implement SETL.  "Guide to the LITTLE Language", D.
Shields, LITTLE Newsletter 33, Courant Inst (Aug 1977).

Little Smalltalk - An almost subset of Smalltalk-80, but line-oriented and
written in C.  "A Little Smalltalk", Timothy Budd, A-W 1987.  Hundreds of
users, at least.
ftp: cs.orst.edu.

LML - Lazy, completely functional variant of ML[2].  Implemented on the G-
machine.  Chalmers U Tech, Goteborg, Sweden.
ftp: piggy.cs.chalmers.se

Logo - LISP-like language aimed at children and other programming
beginners.  Notable for its "turtle graphics" used to draw geometric
shapes.  Created by Seymour Papert et al, 1966-1968 at Bolt, Beranek &
Newman, further development at MIT's AI Lab.

LOLITA - Language for the On-Line Investigation and Transformation of
Abstractions.  Sammet 1969, p.464.

LOOK - Specification language.

LOOPS - Object-oriented extension to Interlisp.  "The LOOPS Manual", D.G.
Bobrow & M. Stefik, Xerox Corp 1983.

LOTIS - LOgic, TIming, Sequencing.  Describes a computer by describing data
flow.  Sammet 1969, p.620.

LPC - A variant of C used to program the LP MUDs, programmable multi-user
adventures. Guesstimate: 2-3 000 000 lines of code and growing.  Introduced
ca. 1988.

LPG - "Linguaggio Procedure Grafiche" (Italian for "Graphical Procedures
Language")  Interpreted and compiled language underlying products of
CAD.LAB Spa, Bologna, Italy.  Roughly a cross between FORTRAN and APL, with
graphical-oriented extensions, and several peculiarities.  "Graphical
Procedure Language User's Guide and Reference Manual", CAD.LAB, Bologna,
Italy, 1989, order code GO89/9. Main author of the language is dott.
Gabriele Selmi.

LRLTRAN - Lawrence Radiation Laboratory TRANslator.  FORTRAN extension with
vector arithmetic and dynamic storage, used for scientific work and systems
programming, including the LTSS OS.  "The LRLTRAN Compiler", S.F.
Mendicino, CACM 11(11):747-7752MODEF (Nov 1969)

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

LTR - Mentioned in "An Overview of Ada", J.G.P. Barnes.

LUCID -

  1. Early query language, ca. 1965, System Development Corp, Santa Monica,
CA.  Sammet 1969, p.701.

  2. Ashcroft & Wadge, 1981.  A dataflow language, a descendant of ISWIM. 
Lazy, but first-order.  Iteration is simulated with "is current" and "fby"
(concatenation of sequences)  It has lazy evaluation.  Statements are
equations which define a network of processors and communication lines. The
data is processed as it flows through this network.   Every data object is
thought of as an infinite stream of simple values, every function as a
filter.  Lucid has no other data constructors such as arrays or records. 
It is a first-order language: functions cannot be used as arguments."Lucid,
the Dataflow Programming Language", William W. Wadge, Academic Press 1985.

Lustre - Synchronous language, a derivative of Lucid. J.L. Bergerand et al,
"Outline of a Real-Time Data-Flow Language", Real Time Systems Symp, San
Diego, Dec 1985.

LYRIC - Language for Your Remote Instruction by Computer.  CAI language
implemented as a FORTRAN preprocessor.  "Computer Assisted Instruction:
Specification of Attributes for CAI Programs and Programmers", G.M. Silvern
et al, Proc ACM 21st Natl Conf (1966).

MAC - Early system on Ferranti Mercury.  Listed in CACM 2(5):16 (May 1959).

MAC-360 - Solving numerical problems using equation-like input. ca. 1967. 
"User's Guide to MAC-360", Charles Stark Draper Lab, Cambridge MA (Aug
1973)  Sammet 1969, p.264.

Macaulay - Mike Stillman <mike@mssun7.msi.cornell.edu> and Dave Bayer
<bayer@cunixa.columbia.edu>, late 70's.  Symbolic algebra package for
commutative algebra, algebraic geometry, cohomology.
ftp: zariski.harvard.edu, Mac and Amiga versions, source in C.

Machiavelli - Peter Buneman & Atsushi Ohori, U Pennsylvania, 1989.  Based
on orthogonal persistence.  An extension of Standard ML.  "Database
Programming in Machiavelli: A Polymorphic Language with Static Type
Inference", A. Ohori, Proc SIGMOD Conf, ACM, June 1989.

MACSYMA - Interactive symbolic math system, Joel Moses MIT 1969, later
Symbolics, Inc.  "MACSYMA - The Fifth Year", J. Moses, SIGSAM Bulletin 8(3)
(Aug 1974).  Version: DOE MACSYMA, ANL.
info: macsyma-service@symbolics.com

MAD - Michigan Algorithm Decoder.  Numerical computation.  "The MAD
Manual", Univ. Michigan Computing Center (1966).  Sammet 1969, p.205.

MADCAP - Math and set problems.  "MADCAP - A Scientific Compiler for a
Displayed Formula Texbook Language", M.B. Wells, CACM 4(1):31-36 (Jan
1961).  Sammet 1969, p.271.

MAGIC - Early system on Midac computer.  Listed in CACM 2(5):16 (May 1959).

Magic Paper - Early on-line formal algebra system.  Sammet 1969, p.510.

MAINSAIL - Dialect of SAIL.  From XIDAK, Inc.  Used to be in Menlo Park,
may now be in Palo Alto.

Make - Language for the UNIX file maintenance utility Make.  Many other
implementations.  "Make - A Program for Maintaining Computer Programs",
A.I. Feldman, TR No 57, Bell Labs Apr 1977.

MAP - Mathematical Analysis without Programming.  On-line system under CTSS
for math.  Sammet 1969, p.240.

Maple - Language for the Maple symbolic math system.  Bruce Char, Keith
Geddes, Gaston Gonnet, Michael Monagan & Stephen Watt, U Waterloo (Canada)
1980.  Waterloo Maple Software.  Version: Maple V.
info: wmsi@daisy.waterloo.edu
list: glabahn@daisy.waterloo.edu

MARSYAS - MARshall SYstem for Aerospace Simulation.  Simulation of large
physical systems.  "MARSYAS, Parts 1 & 2", H. Trauboth et al, IEEE Circuits
and Systems Society Newsletter 7(3-4) (June, Aug 1973).

MARY - Norwegian research language, somewhat ALGOL68-like. Surprising
features include total lack of operator precedence!!  The back cover of the
manual bears the (well-hidden) fragment: MARY HAD A LITTLE LAMB - COERCION
IMPOSSIBLE.

MASM - Microsoft Assembler.  MS-DOS.

Mathcad - Symbolic math environment.

Mathematica - Symbolic math and graphics system, Wolfram Research, 1988. 
The language emphasizes rules and pattern-matching.  "Mathematica: A System
for Doing Mathematics by Computer", Stephen Wolfram, A-W 1988.
ftp: otter.stanford.edu, ftp.ncsa.uiuc.edu
list: mathgroup-request@yoda.ncsa.uiuc.edu
info: info@wri.com

MATHLAB - On-line formal algebra system, MITRE, 1964.  Later version:
MATHLAB 68 (PDP-6, 1967).  "The Legacy of MATHLAB 68", C. Engelman, Proc
2nd Symp on Symbolic and Algebraic Manip, ACM (Mar 1971).  Sammet 1969,
p.498.

MATH-MATIC or MATHMATIC - Alternate name for AT-3.  Early, pre- FORTRAN
language for UNIVAC I or II.  Sammet 1969.

Matlab - Matrix manipulation environment.  The MathWorks, Inc. (508)
653-1415.

Matrix Compiler - Early matrix compuations on UNIVAC.  Sammet 1969, p.642.

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

MBASIC - Microsoft BASIC.

MDL - "Muddle", developed at MIT, was basis for ZIL.

me too - Functional language for executable specifications.  Peter
Henderson.  "Functional Programming, Formal Specification and Rapid
Prototyping", IEEE Trans Soft Eng, SE-12(2) (Feb 1986).

Mercury Autocode - Mercury was another Ferranti machine.

Mesa - Xerox PARC.  System and application programming for proprietary
hardware: Alto, Dolphin, Dorado and Dandelion.  Pascal-like syntax.  Its
notion of modules with separately compilable definition and implementation
directly led to Wirth's design for Modula.  Threads, coroutines,
exceptions, and monitors.  Type checking may be disabled.  Originally for
internal use, Mesa was released to a few universitites in 1985.  "Mesa
Language Manual", J.G. Mitchell et al, Xerox PARC, CSL-79-3 (Apr 1979). 
"Early Experience with Mesa", Geschke et al, CACM 20(8):540-552 (Aug 1977).

META 5 - Early syntax-directed compiler compiler, used for translating one
high-level language to another.  "META 5: A Tool to Manipulate Strings of
Data", D.K. Oppenheim et al, Proc 21st Natl Conf, ACM 1966.  Sammet 1969,
p.638.  Versions: META II, META-3.

METAFONT - A system for the design of raster-based alphabets.  Companion to
TeX.  "The METAFONT Book," Donald Knuth, A-W 1986.

MICRO-PLANNER - Subset of PLANNER, implemented in LISP.  "MICRO-PLANNER
Reference Manual", G.J. Sussman et al, AI Memo 203, MIT AI Lab, 1970.

MIDAS - Digital simulaton language.  Sammet 1969, p.627.

MILITRAN - Discrete simulation for military applications.  Sammet 1969,
p.657.

MIMIC - Solving engineering problems such as differential equations. 
"MIMIC, An Alternative Programming Language for Industrial Dynamics, N.D.
Peterson, Socio-Econ Plan Sci. v.6, Pergamon 1972.

MINITAB II - Interactive solution of small statistical problems.  "MINITAB
Student Handbook", T.A. Ryan et al, Duxbury Press 1976.

Miranda - Lazy, purely functional.  Turner, 1980's.  A commercial
descendant of SASL and KRC, with ML's type system.  Terse syntax follows
the offside rule, type declarations are optional.  Nested pattern-matching,
list comprehensions, modules.  User types are algebraic, may be constrained
by laws.  Implementation uses SKI reduction.
"Miranda: A Non Strict Functional Language with Polymorphic Types", D.A.
Turner, in Functional Programming Languages and Computer Architecture, LNCS
v.201, Springer 1985.
info: Research Software Ltd, or mira-request@ukc.ac.uk

MIRFAC - Mathematics in Recognizable Form Automatically Compiled.  Math
problems.  Sammet 1969, p.281.

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

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

MIXAL - MIX Assembly Language.  Assembly language for Knuth's hypothetical
MIX machine.  "The Art of Computer Programming v.1", Donald Knuth, A-W
1969.

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

ML -

  1.  Manipulator Language.  IBM language for handling robots.

  2.  Meta Language.  Polymorphically-typed functional language, Gordon,
1970's.  "A Metalanguage for Interactive Proof in LCF", M. Gordon et al,
5th ACM Symp on Princs of Prog Langs, Jan 1978.

MLAB - Modeling LABoratory.  Interactive mathematical modeling.  "MLAB, An
On-Line Modeling Laboratory", NIH (Mar 1975).

ML/I - Early macro translating system.  P.J. Brown, CACM 10(10):618-623,
(Oct 1967).

MLISP - LISP variant with ALGOL-like syntax.  "MLISP", D.C. Smith, Report
No. CS-179, CS Dept, Stanford (Oct 1970).  Version: MLISP2.

MOBSSL-UAF - Merritt and Miller's Own Block-Structured Simulation
Language-Unpronounceable Acronym For.  Interactive continuous simulations. 
"MOBSSL - An Augmented Block Structured Continuous System Simulation
Language for Digital and Hybrid Computers", M.J. Merritt et al, Proc AFIPS
FJCC v.35 (1969).

MODEF - Pascal-like language with polymorphism and data abstraction. 
"Definition of the Programming Language MODEF", J. Steensgard-Madsen et al,
SIGPLAN Notices 19(2):92-110 (Feb 1984).

Modula - Wirth, 1977.  Predecessor of Modula-2, more oriented towards
concurrent programming but otherwise quite similar.  "Modula - A Language
for Modular Multiprogramming", N. Wirth, Soft Prac & Exp 7(1):3-35 (Jan
1977).

Modula-2 - Wirth, 1979.  Programming dedicated computer systems, including
process control on smaller machines.  Modula-2 provides limited visibility
of the underlying hardware.  "Programming in Modula-2", N. Wirth, Springer
1985

Modula-2+ - DEC SRC, Palo Alto CA.  Exceptions and threads.  "Extending
Modula-2 to Build Large, Integrated Systems", P. Rovner, IEEE Soft 3(6)
(Nov 1986).

Modula-3 - A descendant of Modula-2+ and Cedar, designed for safety. 
Objects, threads, exceptions and garbage collection.  Modules are
explicitly safe or unsafe.  As in Mesa, any set of variables can be
monitored.  "Modula-3 Report", Luca Cardelli et al, DEC SRC TR No. 52, and
Olivetti Research Center, Aug 1988.
ftp: gatekeeper.dec.com

Modula/R - Modula with relational database constructs added.  LIDAS Group
(J. Koch, M. Mall, P. Putfarken, M. Reimer, J.W. Schmidt, C.A. Zehnder)
"Modula/R Report", LIDAS Memo 091-83, ETH Zurich, Sep 1983.

Modulex - Based on Modula-2.  Listed by M.P. Atkinson & J.W. Schmidt
presented in a tutorial in Zurich, 1989.

MORAL - Mentioned in "An Overview of Ada", J.G.P. Barnes.

MORTRAN - public domain FORTRAN pre-processor.

MOUSE - Small macro language.  Peter Grogono, BYTE article.

MPL - Early possible name for PL/I.  Sammet 1969, p.542.

MPPL - Early possible name for PL/I.  Sammet 1969, p.542.

M-PROLOG - Marseilles PROLOG, the early version.

MPS III - Solving matrices and producing reports.  "MPS III DATAFORM User
Manual", Management Science Systems (1976).

MPSX - Mathematical Programming System Extended.  Solution strategy for
mathematical programming.  "Mathematical Programming System Extended (MPSX)
Control Language User's Manual", SH20-0932, IBM.  Sammet 1978.

Mul-T - Shared memory version of T.

Multi-Lisp - A parallel version of LISP.

MUMPS - Massachusetts General Hospital Utility Multi-Programming System.  A
database-oriented OS and the language that goes with it. Used originally
for medical records.  Current versions for IBM RT and R6000, DSM (Digital
Standard Mumps) for DEC, Datatree MUMPS for IBM PC.  "MUMPS Language
Standard", ANS X11.1-1977.  MUMPS User's Group, Box 208, Bedford MA 01730.
list: MUMPS-L@UGA.BITNET.

MuSimp - Variant of LISP used as the programming language for the PC
symbolic math package MuMath.

MUSL - Manchester University Systems Language.

MYSTIC - Early system on IBM 704, IBM 650, IBM 1103 and 1103A.  Listed in
CACM 2(5):16 (May 1959).

NASTRAN - NAsa STRess Analysis Program.  Large stress analysis problems. 
"The NASTRAN User's Manual", SP-222(C3), NASA.

Napier - Based on orthogonal persistence.  Redesigned language after 10
years of experience with persistence; developed at St Andrews U; design
began ca. 1985, first implementation Napier88, 1988.

NAPLPS - North American Presentation-Level-Protocol Syntax.  Language for
sending text and graphics over communication lines.  Used by videotex
systems.

NAPPS - Numerical Analysis Problem Solving System.  1966.  Sammet 1969,
p.299.

Natural English - Used to mean programming in normal, spoken English. 
Sammet 1969, p.768.

NDL: Network Definition Language. Used to program the DCP (Data
Communications Processor) on Burroughs Large System.

NDL II - New improved etc version of NDL.

NELIAC - Navy Electronics Laboratory International ALGOL Compiler.  Numeric
and logical computations.  CACM 6(7)367 (Jul 1963)  Version:  BC NELIAC.

Neon - An object-oriented extension of FORTH, for the Mac.

NEWP - NEW Programming language. Replaced ESPOL on Burroughs Large System.
NewsClip - Clarinet article filter language.

NGL - A dialect of IGL.

Nial - Nested Interactive Array Language.  Queen's University, Canada. 
High level language with arrays as its basic data structure.  "Programming
Styles in Nial", M.A. Jenkins er al, IEEE Software 3(1):46-55 (1986).

NICOL I - Small subset of PL/I by (Massachusetts) Computer Assoc, ca. 1965. 
Version: NICOL II (1967).  Sammet 1969, p.542.

NIL -

  1. A LISP dialect.  "NIL: A Perspective", Jon L. White, MACSYMA Users'
Conf Proc, 1979.

  2. Implementing complex networking protocols in a modular fashion. 
TJWRC, IBM.

Noddy - A simple (hence the name) language to handle text and interaction
on the Memotech home computer.  Has died with the machine.

NOMAD - Database language.  "NOMAD Reference Manual", Form 1004, National
CSS Inc (Dec 1976).  Version: NOMAD2, Must Software Intl.
list: NOMAD2-L@TAMVM1.BITNET

NORC COMPILER - Early system on NORC machine.  Listed in CACM 2(5):16 (May
1959).

NPL -

  1. New Programming Language.  IBM's original (temporary) name for PL/I -
changed due to conflict with England's "National Physical Laboratory."  MPL
and MPPL were considered before settling on PL/I.  Sammet 1969, p.542.

  2. Burstall, 1977.  A predecessor of HOPE.  Pattern matching and set
comprehensions.

Nroff - Text formating language/interpreter, based on UNIX roff.  See also
Troff, TBL, EQN, NEQN, PIC, and GRAP.  GROFF, also Scribe.

---
 End of Part 3

-- 
--Bill Kinnersley
  billk@hawk.cs.ukans.edu
226 Transfer complete.

billk@hawk.cs.ukans.edu (Bill Kinnersley) (04/28/91)

----

Nuprl - Nearly Ultimate PRL.  (pronounced "new pearl").  Interactive
creation of formal mathematics, including definitions and proofs.  The
language has an extremely rich type system, including dependent functions,
products, sets, quotients and universes.  Built on Franz LISP and Edinburgh
ML.  "Implementing Mathematics in the Nuprl Proof Development System", R.L.
Constable et al, P-H 1986.

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

NYU, OMNIFAX - [sic] Early system on UNIVAC I or II.  Listed in CACM
2(5):16 (May 1959).

O2 - No details.

OBE - Office By Example.  Sequel to QBE, Moshe Zloof, IBM, early 1980's. 
Descriptions published but apparently never implemented.

Oberon - Wirth, 1988.  A descendant of Modula-2 that eliminates many
things: variant records, enumeration types, subranges, lower array indices
and for loops.  Additions are extensible record types, multidimensional
open arrays and garbage collection.  "The Programming Language Oberon", N.
Wirth, Soft Prac & Exp 18(7):671-690 (July 1988).
ftp: neptune.inf.ethz.ch for Mac, SPARC, DECstation.

OBJ - A declarative "ultra high level" language.  Abstract types, generic
modules, subsorts (subtypes with multiple inheritance), pattern-matching
modulo equations, E-strategies (user control over laziness), module
expressions (for combining modules), theories and views (for describing
module interfaces).  For the massively parallel RRM (Rewrite Rule Machine). 
"Principles of OBJ2", K. Futatsugi et al in Proc 12th ACM Symp on Princs of
Prog Langs, B. Reid ed, ACM 1985, pp.52-66.

Object-Oberon - H. Moessenboeck & J. Templ, 1989.  An Oberon extension,
adding classes and methods.

Object Pascal - Apple.  "Object Pascal Report", Larry Tesler, Structured
Language World 9(3) 1985.

Objective C - Brad Cox.  An object-oriented extension of C, incorporating
many ideas from Smalltalk.  Implemented as a front end for the C compiler. 
Used as the system programming language on the NeXT.  Thousands of users.
"Object-Oriented Programming: An Evolutionary Approach", Brad Cox, A-W
1986.

OBSCURE - "An Introduction to the Specification Language OBSCURE", J.
Loeckx, TR A85/15, U Saarlandes, Saarbrucken, 1985.

OCAL - On-Line Cryptanalytic Aid Language.  That says it all.  Sammet 1969,
p.642.

OCAS - On-line Cryptanalytic Aid System.  System that contains OCAL. 
Sammet 1969, p.642.

occam - 1982.  (Named for the 14th cent. philosopher William of Occam.) 
Concurrent algorithms, based on CSP and EPL, David May et al, 1982. 
Designed for the INMOS transputer and vice versa.  Each expression is a
process, which may be combined in serial and parallel.  Processes
communicate via named unidirectional channels.  "Occam", D. May, SIGPLAN
Notices 18(4):69-79 (1983).
ftp: watserv1.waterloo.edu (simulator for VAX, Tahoe)
list: occam@sutcase.case.syr.edu

occam 2 - 1987.  An extension of occam (now known as occam 1).  Occam 2 has
floating point, functions and a type system.  There is *no* operator
precedence.  There are many thousands (probably millions) of lines of code
written in it.  (occam 1 is really only used as a teaching language, and is
more-or-less obsolete).  The main compiler for occam 2 targets INMOS
transputers, but there may be other experimental compilers in existence. 
"occam 2 Reference Manual", INMOS, P-H 1988, ISBN 0-13-629312-3.

OLC - On-Line Computer system.  UCSB ca. 1966.  Predecessor of Culler-Fried
System.  Sammet 1969, p.253.

OMNICODE - Early language by Thompson, 1956.  IBM 650.  Sammet 1969, p.5.

OMNIFAX - Alternate name for NYU OMNIFAX?  Early system on UNIVAC I or II. 
Listed in CACM 2(5):16 (May 1959).

OMNITAB - Statistical analysis and desk calculator.  "OMNITAB II User's
Reference Manual", NBS Tech Note 552 (Oct 1971).  Sammet 1969, p.296. 
Version: OMNITAB II.

Opal -

  1. DSP language.  "OPAL: A High Level Language and Environment for DSP
boards on PC", J.P. Schwartz et al, Proc ICASSP-89, 1989.

  2. Language of the object-oriented database GemStone.  "Making Smalltalk
a Database System", G. Copeland et al, Proc SIGMOD'84, ACM 1984, pp.316-
325.

OPS -

  1. On line Process Synthesizer.  Discrete simulation under CTSS.  Sammet
1969, p.660.

  2. Official Production System.  Rule-based language for building expert
systems, CMU 1970.

OPS/5 - 1977 version of OPS [2].  "Programming Expert Systems in OPS5", L.
Brownston et al, A-W 1985.

Orca - Shared data objects.  One version runs on Tanenbaum's Amoeba
distributed OS.  "Orca: A Language for Distributed Processing", H.E. Bal et
al, SIGPLAN Notices 25(5):17-24 (May 1990).

ORTHOCARTAN - Computer algebra system specialized in General Relativity. 
A. Krasinski, Warsaw, Poland, early 80's.

Orwell - Lazy functional language, very similar to Miranda.  List
comprehensions and pattern matching.  "Introduction to Orwell", P. Wadler,
Programming Research Group, Oxford U.

OSCAR - Oregon State Conversational Aid to Research.  Interactive numerical
calculations, bvectors, matrices, complex arithmetic, string operations. 
"OSCAR: A User's Manual with Examples" J.A. Baughman et al, CC, Oregon
State U.

OSSL - Operating Systems Simulation Language.  "OSSL - A Specialized
Language for Simulating Computer Systems", P.B. Dewan et al, Proc AFIPS
SJCC, v.40 (1972)

Owl - Original name of Trellis.

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

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

PACTOLUS - Digital simulation.  Sammet 1969, p.627.

Paddle - Language to express the structure of developments.  Used in the
POPART system.  "POPART: Producer of Paddles and Related Tools, System
Builders' Manual", D.S. Wile TR RR-82-21, ISI, Marina del Rey, CA 1982.

PAGE - Typesetting language.  "Computer Composition Using PAGE-1", J.L.
Pierson, Wiley 1972.

PAL - Paradox Application Language.  Language for Paradox, Borland's
relational database.

Pam - "Formal Specification of Programming Languages:  A Panoramic Primer",
Frank G. Pagan, P-H.

Parallel Pascal - Similar to ACTUS and Glypnir.

Parallel SML - "Parallel SML: A Functional Language and its Implementation
in Dactl", Kevin Hammond, Pitman Press 1990.

Pari - Symbolic math, especially number theory.
ftp: math.ucla.edu

Paris - Assembly language for the Connection Machine.

PARLOG - An and-parallel PROLOG.  "PARLOG: Parallel Programming in Logic",
K. Clark et al, TOPLAS 8(1):1-49, 1986.

PARSEC - Extensible language with PL/I-like syntax, derived from PROTEUS. 
"PARSEC User's Manual", Bolt Beranek & Newman (Dec 1972)

Pascal - Named for French mathematician Blaise Pascal (1623-1662).  N.
Wirth, ca. 1970.  Designed for simplicity, in reaction to the complexity of
ALGOL 68, and intended as a teaching language.  Innovations: enumeration
types, subranges, sets, variant records, case statement.  Missing from
standard Pascal: strings, adjustable arrays, abstract data types,
random-access files, and separate compilation.  Pascal has been extremely
influential in programming language design, and has led to a great number
of variations and descendants.
"PASCAL User Manual and Report", K. Jensen & N. Wirth, Springer 1975.

Pascal-80 - A successor of Platon.  Developed at RC International, Denmark
for systems programming.  Later it was renamed Real-Time Pascal.

Pascal-F - Pascal extended to include fixed-point arithmetic.  E. Nelson,
"Pascal-F: Programming Language for Real-Time Automotive Control", IEEE
ElectroTechnol. Rev. (USA), 2:39, 1968.

PascalPlus - Denmark?

Pascal/R - Pascal with relational database constructs added.  The first
successful integrated database language.  J.W. Schmidt, M. Mall, Pascal/R
Report, Universitaet Hamburg, Fachbereich Informatik, Report 66, January
1980.

Pascal-S - Simplified Pascal.  Source for a complete Pascal-S compiler is
in "Pascal-S: A Subset and Its Implementation", N. Wirth in Pascal
- The Language and Its Implementation by D.W. Barron, Wiley 1979.

PAT - Personalized Array Translator.  Small subset of APL.  Sammet 1969,
p.252.

PCCTS - Purdue Compiler Construction Tool Set.  Essentially like lex + yacc
+ code generation support in a single language.  Since the beta release
last year, over 400 user sites worldwide.  "Purdue Compiler Construction
Tool Set," Terence Parr et al, Purdue U, TR-EE 90-14, Feb 1990.

PCL - Hewlett-Packard's Printer Control Language. [Same as HPGL?]

PDEL - Partial Differential Equation Language.  Preprocessor for PL/I. 
"PDEL - A Language for Partial Diferential Equations", A.F. Cardenas, CACM
13(3):184-191 (Mar 1970).

PDELAN - Partial Differential Equation Language.  "An Extension of FORTRAN
Containing Finite Difference Operators", J. Gary et al, Soft Prac & Exp
2(4) (Oct 1972).

PDL2 - Mentioned in "An Overview of Ada" J.G.P. Barnes.

PDS/MaGen - Problem Descriptor System.  Generation of matrices and reports
for mathematical programming and operations research.  "PDS MaGen User
Information Manual", Haverly Systems (Dec 1977).

Pearl -

  1. Constructive maths, Constable, Cornell U, 80's.

  2. Process and Experiment Automation Real-Time Language.  A language to
program process control systems. Heavily used in Europe ca. 1980.

Pebble - "A Kernel Language for Abstract Datsa Types and Modules", R.M.
Burstall et al, in Semantics of Data Types, LNCS v.173, Springer 1984.

PENCIL - Pictorial ENCodIng Language.  On-line system to display line
structures.  Sammet 1969, 675.

Perl - Practical Extraction and Report Language.  Larry Wall
<lwall@jpl-devvax.jpl.nasa.gov>  AWK-like scripting language for scanning
text and printing reports.  "Programming Perl", Larry Wall et al, O'Reilly
& Assocs.
ftp: ftp.uu.net (comp.sources.unix archive)

PIC - Graphics meta-language featured in Jon Bentley's "More Programming
Pearls."

PICK BASIC - Rough superset of BASIC bundled with the PICK operating
system.  Includes numerous database operations.

PIE - From CMU, similar to ACTUS.

PIL - Procedure Implementation Language, subsytem of DOCUS.  Sammet 1969,
p.678.

PIL/I - Variant of JOSS.  Sammet 1969, p.217.

PILE - Polytechnic's Instructional Language for Educators.  Similar in use
to an enhanced PILOT, but structurally more like Pascal with Awk-like
associative arrays (optionally stored on disk).  Was distributed worldwide
by the Initial Teaching Alphabet Foundation (about 50 sites?) for Apple II
and various CP/M machines.  "A Universal Computer Aided Instruction
System," Henry G. Dietz & Ronald J Juels, Proc Natl Educ Computing Conf
'83, pp.279-282.

PILOT - Programmed Inquiry Learning Or Teaching.  CAI language, many
versions.  "Guide to 8080 PILOT", J. Starkweather, DDJ (Apr 1977).

PINBOL - "Decision table" language for controlling Pinball machines used at
Atari.  Included a multi-tasking executive and an interpreter that worked
on data structures "compiled" from condition:action lists.

PL-11 - A high level machine-oriented language for the PDP-11.  (May have
been from CERN.)

PL360 - Assembly language for IBM 360 and 370, with a few high-level
constructs.  "PL360, A Programming Language for the 360 Computers", N.
Wirth, J ACM 15(1):37-74 (Jan 1968).

PL-6 - PL/I-like system language for the Honeywell OS CP-6.

PL/C - Subset of PL/I for student use.  "User's Guide to PL/C", S. Worona
et al, Cornell, June 1974.

PL/I - Programming Language I.  George Radin, 1964.  Oriinally named NPL. 
An attempt to combine the best features of FORTRAN, COBOL and ALGOL 60. 
Result is large but elegant.  One of the first languages to have a formal
semantic definition, using the Vienna Definition Language.  PL/I was used
to write almost all of the Multics OS.  It has no reserved words.  Types
are fixed, float, complex, character strings with max length, bit strings,
and label variables.  Arrays have lower bounds, and may be dynamic.
summation, multi-level structures, structure assignment.  untyped pointers,
side effects, aliasing.  Control flow goto, do-end groups,
do-to-by-while-end loops, external procedures and internal nested
procedures and blocks, procedures may be declared recursive.  Generic
procedures.  Many implementations support concurrency and compile-time
statements.  Exception handling.  "A Structural View of PL/I", D. Beech,
Computing Surveys, 2,1 33-64 (1970).  ANS X.3.53-1976.
list: PL1-L@UIUCVMD.BITNET

PL/I SUBSET - Early 70's version of PL/I for minis.

PL/I Subset G - The commercial PL/I subset (i.e., what was actually
implemented by most vendors).

PL/I-FORMAC - Variant of FORMAC.  "The PL/I-FORMAC Interpreter", J.
Xenakis, Proc 2nd Symp Symbolic and Algebraic Manip, ACM (Mar 1971). 
Sammet 1969, p.486.

PL/M - Programming Language/Microcomputers.  Intel's variant of PL/I. 
"PL/M-80 Programming Manual", Doc 98-268B, Intel (1976)

PL/PROPHET - PL/I-like language for the PROPHET system, used by
pharmacologists.  "The Implementation of the PROPHET System", P.A.
Castleman et al, Proc AFIPS NCC v.43 (1974)

PL/S - Programming Language/Systems.  Apparently a PL/I and ASM hybrid. 
Created by IBM Systems Development Division in the late 1960's and early
1970's.  Much of IBM/360 OS/MFT/MVT/SVS/MVS was done in it.  Documented by
various IBM internal ZZ-????????? publications.  Versions: PLS1, PLSII

PL/Seq - Programming Language for Sequences.  A DSP language.  "A general
high level language for signal processors", J. Skytta & O. Hyvarinen,
Digital Signal Processing 84, Proc Intl Conf, Fiorence, Italy, Sep 1984,
pp.217-221.

Plain - Based on extended Pascal.   "The Data Management Facilities of
PLAIN," A.L. Wasserman, ACM-SIGMOD Intl Conf on Management of Data, 1979
pp.60-70.

PLAN - Assembler for ICL1900 series machines.

PLANIT - Programming Language for Interactive Teaching.  Preparing on-line
presentations.  "PLANIT - A Flexible Language Designed for
Computer-Human Interaction", S.L. Feingold, Proc AFIPS FJCC v.31 (1967) 
Sammet 1969, p.706.  [Is there another PLANIT? ca. 1967]

Plankalkul - The first programming language, by Konrad Zuse from Nazi
Germany, ca. 1945.  Theoretical, never implemented.  [Much of his work may
have been either lost or confiscated in the aftermath of WWII.]  "The
Plankalkul of Konrad Zuse", F.L. Bauer et al, CACM 15(7):678-685 (Jul 1972)

PLANNER - AI language, Hewitt, MIT 1967.  "PLANNER: A Language for Proving
Theorems in Robots", Carl Hewitt, Proc IJCAI-69, Wash DC, May 1969.

PLANS - Programming Language for Allocation and Network Scheduling.  A PL/I
preprocessor, used for developing scheduling algorithms.  "A User's Guide
to the Programming Language for Allocation and Network Scheduling", H.R.
Ramsey et al, TR SAI-77-068-DEN, Science Applications Inc (Jun 1977)

Plasma - Carl Hewitt, ca 1980.  The first actor language.

Platon - Developed at DAIMI, U Aarhus, Denmark.

PLUSS - Specification language, based on ASL.  "A First Introduction to
PLUSS", M.C. Gaudel, TR, U Paris Sud, Orsay 1984.

POGO - Early system on G-15.  Listed in CACM 2(5):16 (May 1959).

Poly - Polymorphic, block-structured 1980's, "Overview of the Poly
Programming Language" D.C.J. Matthews, in Proc Appin Workshop on Data Types
and Persistence, Res Report 16,  M.P. Atkinson et al eds, U Glasgow.

Ponder - Polymorphic, non-strict functional language. "Ponder and its Type
System", J. Fairbairn, TR 31, Computer Lab, Cambridge U, Nov 1982.

POOL - A family of languages from Philips Research Labs, Netherlands.

POP-2 - 1968.  Robin POPplestone, 1968.  Data objects are numbers
(including rationals), strings, words (like LISP atoms), lists, and two
special objects: error and end-of-file.First to state the "Bill of Rights
for data objects," that all objects including functions should be first
class citizens.  "Programming in POP-2", R.M. Burstall et al, Edinburgh U
Press 1971.

POP-11 - Robin POPplestone, 1970.  A blend of Pascal syntax, LISP storage
allocation and FORTH argument passing.  Functional, dynamically typed,
interactive, efficient.  Compiler-oriented stack machine with extensible
data-type facility.  "Programming in POP-11", J. Laventhol, Blackwell,
1987.  Earlier versions: POP-1, POP-2.  Implementations: POPLOG (U Sussex),
ALPHA POP-11 for Mac.

Poplar - Morris, 1978.  A blend of LISP with SNOBOL4 pattern matching and
APL-like postfix syntax.  Implicit iteration over lists, sorting primitive,

POPLER - AI extension of POP-2, influenced by PLANNER. "Popler 1.6
Reference Manual", D. Davies et al, U Edinburgh, TPU Report No 1 (May 1973)

POSE - Non-procedural query language, ca. 1967.  Sammet 1969, p.299.

PostScript - Page description language often used in conjuction with laser
printers or on-screen graphic font displays.  Adobe Systems.  "PostScript
Language Reference Manual", ("The Red Book") Adobe Systems Inc, A-W, 1990.

PPL - Polymorphic Programming Language.  Interactive and extensible.  "PPL
User's Manual", E.A. Taft, Aiken Comp Lab, Harvard U, (Sep 1974)

PRINT - PRe-edited INTerpreter.  Early math language on 705.  Sammet 1969,
134.

PRINT I - Early system on IBM 705.  Listed in CACM 2(5):16 (May 1959).

PRL - Proof Refinement Logic.  "PRL: Proof Refinement Logic Programmer's
Manual",  CS Dept, Cornell, 1983.  Versions: micro-PRL, lambda-PRL, nu-PRL.

PROFILE - Simple language for matching and scoring data.  "User's Manual
for the PROFILE System", Cambridge Computer Assoc (May 1974).

PROJECT - subsystem of ICES.  Sammet 1969, p.616.

PROLOG - PROgramming in LOGic.  Alain Colmerauer, U Marseilles 1970.     
Designed originally for natural-language processing.  Resolution theorem
proving based on the unification alorithm.  Unification is a blend of
pattern matching and variable binding.
   One gives facts about objects and rules of deduction, then asks the
system to infer answers to questions.  No user-defined functions and no
control structure other than the built-in depth-first search with
backtracking.
"Programming in PROLOG", W.F. Clocksin & C.S. Mellish, Springer 1985.

PROMAL - [What does this stand for?  "used to be famous" ?]
Proposal Writing - Extension of FORTRAN for proposal writing.  Sammet 1969,
p.170.

PROSE - PROblem Solution Engineering.  Numerical problems including
differentiation and integration.  "Computing in Calculus", J. Thames,
Research/Development 26(5) (May 1975).

PROTEUS - Extensible language, core of PARSEC.  "The Design of a Minimal
Expandable Computer Language", J.R. Bell, PhD Thesis, CS, Stanford U (Dec
1968)

Protosynthex - Query system for English text.  Sammet 1969, p.669.

PS-ALGOL - Persistent Algol, a derivative of S-Algol.  "The PS-Algol
Reference Manual", TR PPR-12-85, CS Dept, U Glasgow 1985.

PSML - Processor System Modeling Language.  Simulating computer systems
design.  A preprocessor to SIMSCRIPT.  "Processor System Modeling - A
Language and Simulation System", F. Pfisterer, Proc Symp on Simulation of
Computer Systems (Aug 1976)

PUFFT - "The Purdue University Fast FORTRAN Translator",Saul Rosen et al,
CACM 8(11):661-666 (Nov 1965).

Python - Guido van Rossum <guido@cwi.nl> 1991.  A high-level interpreted
language combining ideas found in a variety of other languages including
ABC, C, Modula-3 and Icon.  Useful for prototyping or as an extension
language for customizable C applications.  Modules, classes, user-defined
exceptions.  "Linking a Stub Generator (AIL) to a Prototyping Language
(Python)", Guido van Rossum et al, Proc 1991 EurOpen Spring Conf. 
Available for UNIX, Amoeba and Mac.
ftp: wuarchive.wustl.edu, gatekeeper.dec.com and hp4nl.nluug.nl.

Q'nial -  French?  A portable interpreter for Nial.

QA4 - A question-answering language.  "QA4, A Language for Writing
Problem-Solving Programs", J.F. Rulifson et al, Proc IFIP Congress 1968.

QBE - Query By Example.  A query language, Moshe Zloof, IBM, 1975.

QLISP - General problem solving, influenced by PLANNER.  SRI 1973.  QA4
features merged with INTERLISP.  "A Language for the Interactive
Development of Complex Systems", E. Sacerdoti et al, Proc AFIPS NCC v.45
(1976).

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

QUEL - A query language.

Quest - No details.

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

Quicksilver - dBASE-like compiler for MS-DOS from WordTech, Orinda, CA.

QUIKTRAN - On-line FORTRAN with added debugging facilities.  Sammet 1969,
p.226.

QUIN - On-line language, Pyle, 1965.  Sammet 1969, p.691.

QX - (name from Doc Smith SF books)  This language was designed especially
for digital signal processing of digitize speech, and was part of SDC's
speech understanding project.  Designed by Richard Gillmann.  SDC, Santa
Monica, CA.

RAMIS II - Rapid Access Management Information System.  Database system. 
On-Line Software Intl.

Rapidwrite - Method for translating set of abbreviations into the much more
verbose COBOL code.  Sammet 1969, p.338.

RATEL - Raytheon Automatic Test Equipment Language.  For analog and digital
computer controlled test centers.  "Automatic Testing via a Distributed
Intelligence Processing System", S.J. Ring, IEEE AUTOTESTCON 77 (Nov 1977).

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

RATFOR - RATional FORTRAN.  FORTRAN preprocessor to allow programming with
C-like syntax.  "Ratfor - A Preprocessor for a Rational Fortran", B.W.
Kernighan, Software - Prac & Exp 5,395-406 (1975).  Featured in "Software
Tools", B.W. Kernighan & P.J. Plauger, A-W 1976.

R:BASE - MS-DOS 4GL from Microrim.  Based on Minicomputer DBMS RIM.  Was
Wayne Erickson the author?

Real-Time Pascal - Apparent later name of Pascal-80 by RC Intl, Denmark.

Recital - dBASE-like language/DBMS from Recital Corp.  Available on VAX/VMS
minicomputers among others.

RECOL - Retrieval Command Language.  CACM 6(3):117-122 (Mar 1963).

RED - Proposed language to meet the Ironman requirements which led to Ada. 
Also known as REDL.  "On the RED Language Submitted to the DoD", E.W.
Dijkstra, SIGPLAN Notices 13(10):27 (Oct 1978).

REDCODE - Proposed as a language for "battle programs" in corewars.  (See
Computer Recreations column in Scientific American.)

REDUCE - Symbolic math, ALGOL-like syntax.  Anthony C. Hearn, 1963. 
"REDUCE, Software for Algebraic Computation", G. Rayna, Springer 1987. 
Version: Reduce 2.
list: REDUCE-L
info: reduce@rand.org
server: reduce-netlib@rand.org

Refined C (RC) - Extends C to directly specify data access rights so that
flow analysis, and hence automatic parallelization, is more effective. 
Research implementations only.  "Refining A Conventional Language For
Race-Free Specification Of Parallel Algorithms," Henry G. Dietz & A. David
Klappholz, Proc 1984 Intl Conf on Parallel Proc, pp.380-382.

Refined Fortran (RF) - Similar to Refined C.  Research implementations
only.  "Refined FORTRAN: Another Sequential Language for Parallel
Programming," H.G. Dietz et al, Proc 1986 Intl Conf on Parallel Proc,
pp.184-191.

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

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

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

REL English - Rapidly Extensible Language, English.  A formal language
based on English.  "Practical Natural Language Processing: The REL System
as Prototype", Adv in Computers v.13, Academic Press 1975.

Report Program Generator - Official name of RPG.

Required-COBOL - 1961.  Minimal subset of COBOL.  Later dropped entirely. 
Sammet 1969, p.339.

Retrieve - Query language by Tymshare Corporation, 1960's.  Inspired JPLDIS
which lead to Vulcan and then to dBASE II.

Revised ALGOL 60 - Alternate name for ALGOL 60 Revised.  Sammet 1969,
p.773.

REXX - Restructured EXtended eXecutor.  Scripting language for IBM VM
systems, also available on the Amiga.  "Modern Programming Using REXX",
R.P. O'Hara et al, P-H 1985.
list: REXX-L@UIUCVMD.BITNET.

Rigel - Based on Pascal.  Listed by M.P. Atkinson & J.W. Schmidt presented
in a tutorial in Zurich, 1989.

ROADS - Subsystem of ICES.  Sammet 1969, p.616.

Roff - Text formatting language/interpreter.  Associated with UNIX.

RPG - Report Program Generator.  Developed by IBM for easy production of
sophisticated large system reports.  OS/360, 1965.  Version: RPG-II.

RPL-1 - A data reduction language.  Proc SJCC, 30:571-575, 1967.

RPL - RPN Programming Language.  The language that HP28 and HP48
calculators use.  (RPN - Reverse Polish Notation.)

RTL/2 - Barnes 1971.  A small real-time language based on Algol 68, with
separate compilation.  A program is divided into separately compilable
bricks (named modules) and may be datablock, procedure, or stack.  A stack
is a storage area for use as a workspace by a task.  The language is block-
structured and weakly typed.  Simple types are byte, int, frac and real, no
Boolean.  Compound types may be formed from arrays, records and refs
(pointers).  There are no user-defined types.  Control consists of if-then-
elseif-else-end, for-to-by-do-rep, block-endblock, switch, goto, and label
variables.  "RTL/2: Design and Philosophy", J.G.P. Barnes, Hayden & Son,
1976

RUFL - Rhodes University Functional Language - Miranda-like.  Rhodes U,
Grahamstown, South Africa.

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

RUSH - Interactive dialect of PL/I, related to CPS, ca. 1966.  Sammet 1969,
p.309.

Russell - Demers & Donohue.  A compact, polymorphically typed functional
language, with bignums and continuations.  "Revised Report on Russell", A.
Demers et al, TR 79-389, Dept Cornell U 1979.
ftp: watserv1.waterloo.edu

S-Algol - Orthogonal data structures on Algol-60.  "S-Algol Language
Reference Manual", R. Morrison, TR CS/79/1, CS Dept U St Andrews, St
Andrews, Scotland, 1979.

SAC - Early system on Datatron 200 series.  Listed in CACM 2(5):16 (May
1959).

SAD SAM - Query language by Lindsay.  Sammet 1969, p.669.

SAFARI - ON-line text editing system by MITRE.  Sammet 1969, p.685.

SAIL -

  1. [?] Early system on Larc computer.  Listed in CACM 2(5):16 (May 1959).

  2. ALGOL-like language with a symbolic data system based upon an
associative storage (originally called LEAP), with multitasking facilities. 
Developed at the Stanford AI Project.  "Recent Developments in SAIL - An
ALGOL-based Language for Arificial Intelligence", J. Feldman et al, Proc
AFIPS FJCC, v.41(2) (1972).

SAINT - LISP-like language?  Sammet 1969, p.410.

SALT - Symbolic Assembly Language Trainer.  Assembler-like language
implemented in BASIC by Kevin Stock, now at Encore in France.

SAP - Symbolic Assember Program.  Historic assembler on IBM 704, late
1950's.

SAS - Statistical Analysis System.  Statistical and matrix language, syntax
similar to PL/I.  "A User's Guide to SAS", A.J. Barr, SAS Inst 1976.

SASL - Saint Andrews Static Language. Turner 1976.  A derivative of ISWIM
with infinite data structures.  Fully lazy and weakly typed.  Designed for
teaching functional programming, with very simple syntax.  "A New
Implementation Technique for Applicative Languages", D.A. Turner, Soft Prac
& Exp 8, 31-49 (1979)

SCEPTRE - Designing and analyzing circuits.  "SCEPTRE: A Computer Program
for Circuit and Systems Analysis", J.C. Bowers et al, P-H 1971.

Scheme - G.L. Steele & G.J. Sussman, 1975.  A small uniform LISP dialect. 
Scheme is applicative-order and lexically scoped, and treats both functions
and continuations as first-class objects.  "The Revised^3 Report on the
Algorithmic Language Scheme", G.L. Steele Jr, SIGPLAN Notices 21(12):37-79
(Dec 1986).
list: scheme@mc.lcs.mit.edu

Schoonschip - Computer algebra system specialized in High Energy Physics. 
Developed by Veltman, CERN, late 60's.  Originally implemented in CDC-6600
and 7600 assembler, current versions include Atari-ST, SUN 3.

Scratchpad - A general-purpose language originally for interactive computer
algebra at IBM Research in the 1980s.  It features abstract parametrized
datatypes, multiple inheritance and polymorphism.  Implementations exist
under VM/CMS and AIX.  Authors include Richard Jenks, Barry Trager, Stephen
M. Watt & Robert S. Sutor.  "Scratchpad User's Manual", RA 70, IBM (June
1975).  Version: Scratchpad II.
Scratchpad II Newsletter: Computer Algebra Group, TJWRC, Box 218, Yorktown
Hts, NY 10598.

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

SDL -

  1. System Software Development Language.  System software for the B1700. 
"System Software Development Language Reference Manual", 1081346, Burroughs
Corp (Dec 1974).

  2.A specification language. [?]

Sed - The UNIX stream editor.

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

Self - Dynamically-typed object-oriented language.  "Self: The Power of
Simplicity", David Ungar et al, OOPSLA '87 Proc, ACM.
ftp: otis.stanford.edu
list: self-interest@self.stanford.edu
request: self-request@self.stanford.edu

SETL - SET Language.  Courant Inst, early 70's.  A very high level
set-oriented language.  The first Ada translator was written in SETL.  Data
types include sets (unordered collections), tuples (ordered collections)
and maps (collection of ordered pairs).  Statements include predicate
calculus formulas ("for each" and "there exists").  "On Programming: An
Interim Report on the SETL Project", Jacob T. Schwartz, Courant Inst, 1974. 
"Software Prototyping Using the SETL Programming Language", P. Krutchen et
al, IEEE Software 1(5):66-75 (Oct 1984)

SETL2 - Improvements over SETL.  Kirk Snyder.

SETS - Set Equation Transformation System.  Symbolic manipulation of
Boolean equations.  "Efficient Ordering of Set Expressions for Symbolic
Expansion", R.G. Worrell et al, J ACM 20(3) (Jul 1973)

SEXI - String EXpression Interpreter.  Early name of SNOBOL.

SFD-ALGOL - System Function Description-ALGOL.  Extension of ALGOL for
synchronious systems.  Sammet 1969, p.625.

SGML - Standard Generalized Markup Language.  "SGML - The User's Guide to
ISO 8879", J.M. Smith et al, Ellis Harwood, 1988.

sh - or "Shellish".  Bourne Shell command shell interpreter for UNIX.

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

SHADOW - Syntax directed compiler.  Predecessor to SNOBOL?  Barnett &
Futrelle, 1962.  Sammet 1969, p.448, 605.

SHEEP - Computer algebra system specialized in General Relativity. 
Developed by I. Frick, Stockholm, late 70's to early 80's.  Implemented
first in DEC-10 assembler, then in several LISP's.

SHELL - Early system on Datatron 200 series.  Listed in CACM 2(5):16 (May
1959).

Short Code or SHORTCODE - Possibly first attempt at higher level language
for math problems.  UNIVAC I or II.  Sammet 1969, p.129.

SIFT - SHARE Internal FORTRAN Translator.  Translation utility designed for
converting FORTRAN II to FORTRAN IV.  The word "sift" was often used as a
verb to describe converting code from one language to another.  Sammet
1969, p.153.

Sig - Signal Processing, Analysis, and Display program.  (Note that this is
an environment, with an associated programming language, just like the
Mathematica system is.)  Jan Carter, Argonne Natl Lab, (312)972-7250.

Signal - Synchronous language.  Le Guernic et al, "SIGNAL - A Data
Flow-Oriented Language for Signal Processing," IEEE Trans Acoustics Speech
& Signal Proc, ASSP-34(2):362-374 Apr 1986.

Sil/2 - A language for implementation of portable interpreters.  "The
Design of Transportable Interpreters", Frederick Druseikis, SNOBOL4 Project
Document S4D49, U Arizona (Feb 1975).

Silage - Synchronous DSP language.  D.R. Genin & P.N. Hilfinger, "Silage
Reference Manual, Draft 1.0", Silvar-Lisco, Leuven, 1989.

Simone - Hoare et al.  Simulation language based on Pascal.

SIMPLE - Early system on Datatron 200 series.  Listed in CACM 2(5):16 (May

---
 End of Part 4

-- 
--Bill Kinnersley
  billk@hawk.cs.ukans.edu
226 Transfer complete.

billk@hawk.cs.ukans.edu (Bill Kinnersley) (04/28/91)

----

1959).

SIMPL-T - Base language for a family of languages and compilers. 
"SIMPL-T, A Structured Programming Language", V.R. Basili, Paladin House
1976.

SIMSCRIPT - Large discrete simulations.  "SIMSCRIPT: A Simulation
Programming Language", P.J. Kiviat et al, C.A.C.I. 1973.  Versions:
SIMSCRIPT I.5, SIMSCRIPT II.5

SIMULA - SIMULAtion language.  Kristen Nygaard & Ole-Johan Dahl, 1962. 
Extension to ALGOL for discrete simulation.  Sammet 1969, p.659.

SIMULA 67 - Introduced the class concept, which led the way to data
abstraction and object-oriented programming.  Also provided for coroutines.
ftp: rascal.ics.utexas.edu, Mac version

Simulating Digital Systems - FORTRAN-like for describing computer logic
design.  Sammet 1969, p.622.

SIPLAN - SIte Planning Computer Language.  Interactive language for space
planning.  "Formal Languages for Site Planning", C.I. Yessios in "Spatial
Synthesis for Computer-Aided Design", C. Eastman ed, Applied Science Publ
1976.

Siprol - Signal Processing Language.  A DSP language.  "SIPROL: A High
Level Language for Digital Signal Processing", H. Gethoffer, Proc
ICASSP-80, 1980, pp.1056-1059.

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

Sisal - parallel, data flow, (deterministic CCS/CSP?).  May be a single
assignment language used in parallel processing.

Sketchpad - Computer-aided design.  Introduced "ring" list structure. 
"Sketchpad: A Man-Machine Graphical Communication System", I.E. Sutherland,
MIT Lincoln Lab, TR 296 (Jan 1963).  Sammet 1969, p.678.

SKOL - FORTRAN pre-processor unique to the Cray Operating System (COS).

SL5 - A string and list processing language with an expression-oriented
syntax.  "An Overview of SL5", Ralph E. Griswold, SIGPLAN Notices 12(4):40-
50 (Apr 1977).

SLANG - R.A. Sibley.  CACM 4(1):75-84 (Jan 1961).

SLIP - Early-60's list processing language.  Sammet 1969, p.387.

SMALGOL - SMall ALGOL.  Subset of ALGOL.  "SMALGOL-61", G.A. Bachelor et al
CACM 4(11):499-502 (Nov 1961).  Sammet 1969.

Small C - Subset of C often used in educational settings.  "A Small C
Compiler," James Hendrix.

Smalltalk - Xerox PARC.  Smalltalk is an object-oriented language.  An
object is the encapsulation of a data item and its associated operations. 
Objects are created as instances of classes, which in turn are defined as
refinements of other existing classes.  Objects communicate by sending
messages to each other.  Early versions: Smalltalk-72, Smalltalk-74,
Smalltalk-76, and Smalltalk-78.

Smalltalk-80 - "Smalltalk-80: The Language and Its Implementation", ["The
Blue Book"] Adele Goldberg et al, A-W 1983.

Smalltalk/V - PC, Mac version of Smalltalk.

SML - Standard ML.  An atempt to unify many dialects of ML.  Environment
based, strict.  Typed exceptions, modules.  Versions: Standard ML of New
Jersey.  "A Proposal for Standard ML", R. Milner, ACM Symp on LISP and
Functional Prog 1984, pp.184-197.  Versions: Standard ML of New Jersey
(Princeton and AT&T), POPLOG ML (Sussex), Poly/ML, Edinburgh ML 4.0,
Edinburgh Kit Compiler.
ftp: cs.yale.edu
list: sml-request@cs.cmu.edu

SMoLCS - Specification metalanguage used for Ada.

SMP - Stevre Wolfram's earlier symbol manipulation program.  "SMP
Handbook", C. Cole, S. Wolfram et al, Caltech 1981.

SNOBOL - StriNg Oriented symBOlic Language.  David Farber, Ralph Griswold,
Bell Labs 1962.  Text processing and formula manipulation.  "SNOBOL, A
String Manipulating Language", R. Griswold et al, J. ACM 11,21 (1964) 
Versions: SNOBOL1 (1962), SNOBOL3 (1965).

SNOBOL4 - Griswold et al, 1968.  Quite different from its predecessors,
SNOBOL4 emphasizes pattern matching on character strings.  A declarative
language, with dynamic scope.  Success and failure is used to control the
flow of execution.  Delayed or unevaluated expressions can be used to
implement recursion.  The table data type provides for associative
retrieval.  Strings generated at run-time may be treated as programs and
executed.  "The SNOBOL4 Programming Language", Ralph E. Griswold, P-H 1971.

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

SOAP - Symbolic Optimal Assembly Program.  IBM 650 Assembler.  Listed in
CACM 2(5):16 (May 1959). Versions: SOAP I, SOAP II, CASE SOAP III.

SOCRATIC - Not a language?  Bolt, Beranek & Newman.  Early interactive
learning system.  Sammet 1969, p.702.

SODAS - D.L. Parnas & J.A. Darringer.  Proc FJCC, 31:449-474 (1967).

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

SOL - Simulation Oriented Language.  Discrete simulation.  Sammet 1969,
p.656.

SPAR - Early system on Datatron 200 series.  Listed in CACM 2(5):16 (May
1959).

Speakeasy - Simple array-oriented language aimed at statistical analysis. 
"Speakeasy", S. Cohen, SIGPLAN Notices 9(4), (Apr 1974).  "Speakeasy-3
Reference Manual", S. Cohen et al. 1976.

SPECIAL - SRI specification language.

SPEED - Early system on LGP-30.  Listed in CACM 2(5):16 (May 1959).

Speedcode - Same as Speedcoding?

Speedcoding - Early attempt at higher level language for math on IBM 701,
IBM 650.  Sammet 1969, p.130.

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

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

SPITBOL - A SNOBOL compiler for the IBM, not a separate language.

SP/k - Subset PL/I, k=1..8.  A series of PL/I subsets, simplified for
student use.  "SP/k: A System for Teaching Computer Programming", R.C.
Holt, CACM 20(5):301-309 (May 1977)

SPL -

  1. Synchronous Programming Language.  A DSP language.  "Introduction to
the SPL Compiler", Computalker Consultants, 1986.

  2. Space Programming Language.  For spaceflight and aerospace software. 
Similar to JOVIAL.  Aka SPL/J6.  A subset is known as CLASP.  "Space
Programming Language Development", SAMSO TP 70-325, System Development Corp
(Sep 1970).

SPL/I - Signal Processing Language I.  General language designed for
acoustic signal processing.  Graphics and multiprocessing features.  "SPL/I
Language Reference Manual", M.S. Kosinski, Intermetrics Report
172-1 (July 1976)

SPLINTER - PL/I interpreter with debugging features.  Sammet 1969, p.600.

SPRINT - List processing involving direct action on operand stack.  Sammet
1969, p 462.

SPSS - Statistical Programs for the Social Sciences.  "SPSS X User's
Guide", SPSS Inc. 1986.

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

SQL - Structured Query Language.  IBM, 1970's.  The de facto standard
relational database language often embedded into other programming
languages.  "A Guide to the SQL Standard," C.J. Date.

SR - Synchronizing Resources.  A language for programming distributed
systems.  A resource is the encapsulation of a process and its variables,
in two parts: the specification and the body. "An Overview of the SR
Language and Implementation", G. Andrews, ACM TOPLAS 10:51-86 (Jan 1988)
ftp: cs.arizona.edu, watserv1.waterloo.edu.

SRC Modula-3 - From DEC/SRC, Palo Alto, CA. "Modula-3 Report (revised)"
Luca Cardelli et al.
ftp: gatekeeper.dec.com

STAR 0 - Early system on Datatron 200 series.  Listed in CACM 2(5):16 (May
1959).

StarLisp - LISP for the Connection Machine.

Steelman - Final DoD requirements that led to Ada.  "Requirements for High
Order Programming Languages, 'Steelman'", June 1978.

STENSOR - Computer algebra system specialized in General Relativity. 
Developed by L. H\"ornfeldt, from Stockholm, mid-80s.  Implemented on top
of SHEEP and MACSYMA.

STIL - STatistical Interpretive Language.  "STIL User's Manual", C.F.
Donaghey et al, Indust Eng Dept, U Houston (Aug 1969)

STOBES - Shared Time Repair of Big Electronic Systems.  Computer testing. 
Sammet 1969.

STOIC - STring Oriented Interactive Compiler. It's like FORTH for strings,
including all sorts of stuff that is in hardware on VAXen.  Written by
someone at the Smithsonian Astrophysical Observatory.

Stoneman - DoD requirements that led to APSE.  DoD Feb 1980.

STP4 - Statistical language.

Strawman - One of the DoD requirements that led to Ada.

STRESS - STRuctual Engineering Systems Solver.  Structural analysis
problems in Civil Engineering.  Superceded by STRUDL.  "STRESS: A User's
Manual", S.J. Fenves et al, MIT Press 1964.  Sammet 1969, p.612.

STRUDL - STRUctured Design Language.  Dynamic and finite-element analysis,
steel and concrete structures.  Subsystem of ICES.  "ICES STRYDL-II
Engineering User's Manual", R68-91, CE Dept MIT (Nov 1968) Sammet 1969,
p.613

STSC APL - Implementation of APL?

STUDENT - Early query system.  Bobrow, 1964.  Sammet 1969, p.664.

Sugar - A language Paul Hudak is developing?  1991.  Microsoft?

SUMMER SESSION - Early system on Whirlwind.  Listed in CACM 2(5):16 (May
1959).

SURGE - Early rudimentary system.  Sammet 1969, p.8.

SweetLambda - Some kind of Microsoft in-joke?

SYMBAL - Computer algebra language with ALGOL-like syntax by Max Engeli,
implemented in the late 60's on the CDC6000.

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

Symbolic Mathematical Laboratory - On-line system under CTSS for formal
algebra.  Used display screen and light pen.  Sammet 1969, p.514.

SYMPL -

  1. Control Data's answer to system programming languages in the '70s 
Major parts of CDC systems written in this.

  2. A a non-reentrant block structured language with extensive bit
manipulation facilities and linkable with FORTRAN.  [Same as 1?]

T - True.  Rees, 1982.  A dialect of LISP with static scoping, derived from
Scheme, mostly a superset.  "The T Manual", Johnathan A. Rees et al, Yale
U, 1984.

TABSOL - Early system oriented language.  T.F. Kavanagh.  Proc FJCC
18:117-136 (1960).

TAC - Translator Assembler-Compiler.  For Philco 2000.

TACPOL - PL/I-like language used by US Army for command and control.

TAL - Tandem Application Language.  A cross between C and Pascal.  Primary
language for system level programming on the Tandem.  (Tandem has no
Assembler and until recently did not have C or Pascal.)   May be derived
from system language at Hewlett- Packard.

TALL - TAC List Language.  "TALL - A List Processor for the Philco 2000",
J. Feldman, CACM 5(9):484-485 (Sep 1962).

TARTAN - A simpler proposed language to meet the IRONMAN requirements. 
"TARTAN - Language Design for the Ironman Requirement", Mary Shaw et al,
SIGPLAN Notices 13(9):36 (Sep 1978).

TASM - Turbo Assembler.  MS-DOS assembler from Borland.

TAWK - Tiny AWK.

Taxis - "A Language Facility for Designing Database-Intensive
Applications", J. Mylopoulos et al, ACM Trans Database Sys 5(2):185-207
(June 1980).

TBIL - Tiny Basic Interpreter Language.  Inner interpreter of Tom Pittman's
set of Tiny Basics in DDJ.

Tcsim - Time (Complex) Simulator.  Complex arithmetic version of Tsim. 
ZOLA Technologies, ZOLA@Applelink.Apple.com.

TECO - Text Editor and COrrector.  Macro language for text editing, also
screen handling and keyboard management.  Has a reputation for being
cryptic and hard to learn.  The first EMACS editor was written in TECO.
ftp: usc.edu versions for VAX/VMS, Unix, MSDOS, Mac, Amiga.

TELCOMP - Variant of JOSS.  Sammet 1969, p.217.

TELSIM - Digital simulation, Busch, ca. 1966.  Sammet 1969, p.627.

TeX - The text formatting language developed by Donald Knuth.
ftp: june.cs.washington.edu

TeX-78 - The original version of TeX.

TeX-82 - The version of TeX decscribed in "The TeXbook", Donald Knuth,
A-W 1984.

TGS-II - Translator Generator System.  Contained TRANDIR.  Sammet 1969,
p.640.

Theseus - Based on Euclid, never implemented.  "Theseus - A Programming
Language for Relational Databases", J.E. Shopiro, ACM Trans Database Sys
4(4):493-517 (Mar 1979).

Tinman - 1976.  One of the DoD requirements that led to Ada.

TINT - Interpreted version of JOVIAL.  Sammet 1969, p.528.

TIPL

  1.  Teach IPL.  Interpretive IPL teaching system.  Sammet 1969, p.393.

  2.  Dialect of IGL.

TMG - Syntax-directed compiling language.  "TMG - A Syntax-Directed
Compiler", R.M. McClure, Proc ACM 20th Natl Conf (1965).  Sammet 1969,
p.636.

TOK - Referred to in Ursula K. LeGuin's "Always Coming Home."  Seems to be
similar to the original BASIC.

TPL - Table Producing Language.  "The Bureau of Labor Statistics Table
Producing Language (TPL)", R.C. Mendelssohn, Proc ACM Annual Conf (1974).

TRAC - Text Reckoning And Compiling.  Interactive string handling language. 
It was developed by XXX and Peter Deutsch (of ST-80 fame).  Thousands of
users, historically, though probably few today.  "TRAC: A
Procedure-Describing Language for the Reactive Typewriter", Calvin N.
Mooers, CACM 9(3):215-219 (Mar 1966).

TRANDIR - TRANslation DIRector.  A syntax-directed compiling language. 
Sammet 1969, p.640.

TRANGEN - System containing TRANDIR.  Sammet 1969, p.640.

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

TRANSCODE - Early system on Ferut computer.  Listed in CACM 2(5):16 (May
1959).

TRANSIT - Subsystem of ICES.  Sammet 1969, p.616.

TREET - List processing, akin to LISP.  "The TREET Time-Sharing System",
H.A. Bayard et al, Proc 2nd Symp Symbolic and Algebraic Manip, ACM (Mar
1971).  Sammet 1969, p.457.

Trellis - Object-oriented, formerly named Owl.  DEC.  Static type-checking
and encapsulation.  "Persistent and Shared Objects in trellis/owl", P.
O'Brien et al, Proc of the 1986 IEEE Workshop on Object-Oriented Database
Systems", IEEE, NY 1986.

TRIGMAN - Computer algebra system specialized in Celestial Mechanics.

Troff - Text formatting language/interpreter.  Variant of UNIX roff.

TROLL - Array language for continuous simulation, econometric modeling,
statistical analysis.  "TROLL Refernce Manual", D0062, Info Proc Services,
MIT (1973-76)

True BASIC - John Kemeny & Thomas E. Kurtz.  Compiled BASIC requiring no
line numbers.

Tsim - Time Simulator.  Stack-based simulation language.  ZOLA
Technologies, ZOLA@Applelink.Apple.com.

Turbo Pascal - Brand of Pascal by Borland International.  Perhaps the first
integrated development environment for MS-DOS.  Versions 3, 4, 5: Close to
Modula-2. 6: Object-oriented facilities.

Turbo Prolog - Differs markedly [how?] from standard PROLOG.

Turing - R.C. Holt & J.R. Cordy, U Toronto, 1983.  Descendant of Concurrent
Euclid.  "Turing Language Report", J.R. Cordy et al, Report CSRI-153, CSRI,
U Toronto, Dec 1983.

Turing Plus - Concurrent descendant of Turing.  "Turing Plus: A Comparison
with C and Pascal", S. Perelgut et al, SIGPLAN Notices 23(1):137-143 (Jan
1988).  "The Turing Plus Report", R.C. Holt et al, prelim version, CSRI, U
Toronto, Feb 1987.

Turtle - Nickname for Logo.

TUTOR - Scripting language on PLATO systems from CDC.  "The TUTOR
Language", Bruce Sherwood, Control Data, 1977.

TWIG - Tree-Walking Instruction Generator.  [you gotta' love that acronym!] 
A code-generator language.  "Twig Language Manual", S.W.K. Tjiang, CS TR
120, Bell Labs, 1986.

UCSD Pascal - Variant of Pascal for the UCSD p-system environment. 
Extended string and array operations, random access files, separate
compilation, etc.

UHELP - Linear programming.  "UHELP User's Manual", D. Singh, Indus Eng
Dept, U Houston (Oct 1969)

UGLIAC - Early system on Datatron 200 series.  Listed in CACM 2(5):16 (May
1959).

ULP - Small structured language for use in microprocessors.  "User's Guide
to the ULP Language for the PDP-11", CS TR 536, U Md (May 1977)

UNCOL -  UNiversal Computer Oriented Language.  A universal intermediate
language, discussed but never implemented.  "A First Version of UNCOL",
T.B. Steel, Proc WJCC 19:371-378 (1961).  Sammet 1969, p.708.

UNICODE - Pre-FORTRAN on the 1103, similar to MATH-MATIC.  Sammet 1969,
p.137.

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

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

utility-coder - Data manipulation and report generation.  "User's Manual
for utility-coder", Cambridge Computer Assoc (Jul 1977)

VAL - Single assignment language used in parallel processing.  "The VAL
Language: Desciption and Analysis", J.R. McGraw, TOPLAS 4(1):44-82 (Jan
1982).

VDM - "The Vienna Development Method": The Meta-Language", D. Bjorner et al
eds, LNCS v.61, Springer 1978.

Vector C - Variant of C similar to ACTUS.  CMU?

VECTRAN - FORTRAN with array extensions.  "The VECTRAN Language: An
Experimental Language for Vector/Matrix Array Processing, Report G320-
3334, IBM (Aug 1975)

VHDL - VHSIC Hardware Description Language.  "VHSIC Hardware Description
Language", M.R. Shahdad et al, IEEE Computer 18(2):94-103 (Feb 1985).

Vienna Definition Language - A language for formal definitions via
operational semantics.  Developed by the IBM Vienna Laboratories, and used
to specify the semantics of PL/I.  "The Vienna Definition Language", P.
Wegner, ACM Comp Surveys 4(1):5-63 (Mar 1972).

VITAL - Semantics language using FSL.  Mondshein, 1967.  Sammet 1969,
p.641.

VULCAN -

  1.  CP/M port of JPLDIS by Wayne Ratliff which evolved into dBASE II. 
ca. 1980.

  2.  The dBASE-like interpreter and compiler sold by RSPI with their
Emerald Bay product.

  3.  String handling language ca. 1970.  "VULCAN - A String Handling
Language with Dynamic Storage Control", E.P. Storm et al, Proc AFIPS FJCC
v.37 (1970)

WAFL - WArwick Functional Language.  Lisp-type language developed at
Warwick U, England.

WATBOL - Waterloo SNOBOL?

WATFIV - WATerloo Fortran IV.  Student-friendly variant of FORTRAN IV from
U Waterloo, Canada.

WATFOR - WATerloo FORtran.  Student-friendly variant of FORTRAN from U
Waterloo, Canada.  Sammet 1969, p.303.

WEB - Knuth's self-documenting brand of programming, with comments in TeX. 
"Literate Programming", D.E. Knuth, Computer J 27(2):97-111 (May 1984).

WFL - Work Flow Language. Burroughs' answer to IBM JCL. Yet another ALGOL
variant.

Woodenman - One of the DoD requirements that led to Ada.

WSL - Waterloo Systems Language.  A C-like systems programming language. 
"Waterloo Systems Language:  Tutorial and Language Reference", F.D.
Boswell, WATFAC Publications Ltd, Waterloo, Ontario, Canada.  ISBN
0-919884-00-8.

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

Xbase - Term used to refer generically to the "dBASE" family of languages. 
Coined in response to threatened litigation over use of the copyrighted
trademark "dBASE."

XLISP - Experimental LISP.  David Best.  Variant of LISP with object-
oriented extensions, source available in C.  Versions exist for most PC's.
ftp: gatekeeper.dec.com (comp.sources.misc/Vol10)

XPL - Stanford, 1967-69.  Dialect of PL/I used for compiler-writing.  "A
Compiler Generator," W.M. McKeeman et al, P-H 1970.  Also 1968 AFIPS Conf.

XPOP - Early language.  Halpern, 1964.  Sammet 1969, p.8.

XScheme - Extended Scheme?

Y - Arizona (?)  [Similar to Yacc??  Details sought.]

YACC - Yet Another Compiler Compiler.  Language used by the YACC LALR
parser generator.  "YACC - Yet Another Compiler Compiler", S.C. Johnson, CS
TR 32, Bell Labs (Jul 1975)

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

Z -

  1. ca 1980.  A specification language based on axiomatic set theory. 
"Understanding Z", J.M. Spivey, Cambridge U Press 1988.

  2. A stack-based, complex arithmetic simulation language.  ZOLA
Technologies, ZOLA@Applelink.Apple.com.

ZAP - Language for expressing transformational developments.  "A System for
Assisting Program Transformation", M.S. Feather, ACM Trans on Prog Langs
and Syst 4(1):1-20 (Jan 1982).

Zetalisp -

ZIL - Zork Interpretive Language.  Designed for creating customized
adventure-like games.  Used by Infocom to write their games.

XPC - EXplicitly-Parallel C dialect which is efficiently compilable to both
SIMD and MIMD architectures (is mode independent).  First described in
Michael J. Phillip & Henry G. Dietz, "Toward Semantic Self-Consistency in
Explicitly Parallel Languages," in proceedings of the Fourth International
Conference on Supercomputing, Santa Clara, CA, May 1989, v.1, pp.398-407. 
Research implementations only.  Greatly improved on Parallel C, which was
never implemented (but had significant impact on the design of C*).

Zuse - PhD language by Chris Collberg <collberg@dna.lth.se>.  1991.



QUESTIONABLE ENTRIES:

ALGOL "machine language"

ALGOL "publication language"

[ unnamed ] - Dijkstra never names the language he describes and
uses in "A Discipline of Programming".



APPENDIX A


Some selected works on computer language history and design:
============================================================

Bal, H.E. Comprehensive list: "Programming Languages for Distributed
Systems", Comp Surveys 21(3):261-322 (Sep 1989).

Bobrow, D.G. & Raphael, "New Programming Languages for Arificial
Intelligence Research", Comp Surveys 6:155 (Nov 1974).

MacLennan, B.J. "Principles of Programming Languages" 2nd Ed, Holt,
Rinehart & Winston 1987.  Often cited on The Net.

Sammet, Jean E. "Programming Languages:  History and Fundamentals", 
P-H 1969.  LC: 68-28110.  The absolutely definitive work on early computer
language development, by an IBM language technology manager.  Almost 800
pages of meticulous detail.

Sammet, Jean E., "Roster of Programming Languages for 1976-77", SIGPLAN
Notices 13(11):56 (Nov 1978).

Shapiro, E. "The Family of Concurrent Logic Programming Languages", Comp
Surveys, 21(3):413-510 (Sep 1989).

Weinberg, Gerald "The Psychology of Computer Programming", 1971.

Wexelblat, R.L. ed, "Proceedings:  ACM SIGPLAN History of Programming
Languages Conference"  (Los Angeles, July 1978)  Perhaps the most
entertaining account of the history of roughly 15 major programming
languages.  310 pp.  Jean Sammet apparently co-ordinated the conference. 
Academic Press, 1981.  ACM Item No 548780.  ACM Order Dept is
(800)342-6626.

Wilson, L.B. & Clark, R.G.  "Comparative Programming Languages", A-W 1988. 
ISBN: 0-201-18483-4.  Languages compared on a feature-by-feature (rather
than language-by-language) basis.


APPENDIX B

Selected Issues in Computer Language Design:
===========================================


A "core" versus "complete" language

Should a language provide a small, minimal core that is extensible (FORTH,
ALGOL, C) or should it try to have syntax for almost everything already
included?  (PL/I, Ada, dBASE IV)

How much structure should automatically be imposed?

Some languages, such as C, give a great latitude to the layout of
statements on the page.  Others, such as COBOL, are more verbose and
structured in an attempt to force "self-documenting code."

Features are added but never removed


APPENDIX C

A chronology of influential computer languages:
==============================================

(Note:  It has been suggested that K. Zuse in Nazi Germany may have had
first real computer programming language, "Plankalkul" ca. 1945.  This is
alluded to in the 1978 ACM History of Programming Languages FORTRAN
session.)

FORTRAN: 1957

ALGOL: 1958

LISP: 1960

COBOL: 1960

APL 1962

PL/I: 1964

BASIC: 1964

PROLOG: 1970

C: 1972

Pascal: 1975

Modula-2: 1979

Smalltalk: 1980

dBASE II: ca. 1980

Ada: 1983

C++: 1986

Eiffel: ?

Oberon: 1988


APPENDIX D

Who will gather some interesting rough statistics relating to computer
language usage?  Things such as:

[Nine (?) billion lines of COBOL code written?]

[75% of world's software spending by DOD?]

[80% of all paid programming maintenance programming?]

[ n million people have programmed in BASIC? ]



Net contributors to the language list so far:
=============================================
Mike Albaugh <albaugh@dms.UUCP>
LLoyd Allison <lloyd@bruce.cs.monash.OZ.AU>
Jose Castejon-Amenedo <vanadis@cs.dal.ca>
Birger Andersen <birger@diku.dk>
Bob Bishop <rb@sixnine.gid.co.uk>
Heiko Blume <src@scuzzy.in-berlin.de>
Andreas Borchert <borchert@mathematik.uni-ulm.de>
Marc-Michael Brandis <brandis@inf.ethz.ch>
Kurt Baudendistel <baud@laplace.eedsp.gatech.edu>
Benjamin Chase <bbc@rice.edu>
Chris Collberg <collberg@dna.lth.se>
A.J. Cunningham <tjc@castle.edinburgh.ac.uk>
Hank Dietz  <hankd@ecn.purdue.edu>
Patrick J Draper<draper@cps.msu.edu>
Clive Feather <clive@x.co.uk>
Dave Gillett <dgil@pa.reuter.com>
Mike Grier <grier@leno.enet.dec.com>
Urs Hoelzle <hoelzle@cs.stanford.edu>
Kjetil Torgrim Homme  <kjetilho@ifi.uio.no>
Ralph W. Hyre <rhyre@cinoss1.att.com>
Steve Jenkins <jenkins@jpl-devvax.jpl.nasa.gov>
Jeff Jenness <jeffj@cs.umr.edu>
Niels Christian Juul <ncjuul@diku.dk>
David Keppel <pardo@cs.washington.edu>
A.V. Le Blanc <ZLSIIAL@UK.AC.MCC.CMS>
Greg Lindahl <gl8f@astsun9.astro.Virginia.EDU>
Andy Lowry <lowry@watson.ibm.com>
Andrew H. Marrinson <andy@icom.icom.com>
Alex Martelli <staff@cadlab.sublink.org>
S A McConnell <sam%gva.decnet@consrt.rok.com>
Brian R. Murphy <brm@Neon.Stanford.EDU>
Tom Neff <tneff@bfmny0.BFM.COM>
Michael Newbery <newbery@rata.vuw.ac.nz>
Oscar Nierstrasz <oscar@cuisun.UNIGE.ch>
Nick North <ndn@seg.npl.co.uk>
Conor O'Neill <conor@inmos.com>
Hokkun Pang <hp0p+@andrew.cmu.edu>
Stephen Perelgut <perelgut@turing.toronto.edu>
Jeff Price <jprice@cadev1.intel.com>
Arch D. Robison <robison@shell.com>
Walt Spector <wws@renaissance.cray.com>
Paul Stachour <stachour@SCTC.COM>
Joergen Steensgaard-Madsen <jsm@iddth2.id.dk>
Kevin Stock <kstock@gouldfr.encore.fr>
Bob Stockwell <pacbell.com!ptsfa!res>
Robert S. Sutor <rssutor@math.princeton.edu>
Guido van Rossum<guido@cwi.nl>
Jan Christiaan van Winkel <jc@atcmp.nl>
Ken Yap <ken@csis.dit.csiro.au>
uunet!microsoft!glenns
uunet!microsoft!jklin
uunet!microsoft!johnyg
uunet!microsoft!jonkauf
uunet!microsoft!matth
uunet!microsoft!mikero
uunet!microsoft!mmsys
uunet!microsoft!richgi

---
 End of Part 5

-- 
--Bill Kinnersley
  billk@hawk.cs.ukans.edu
226 Transfer complete.

billk@hawk.cs.ukans.edu (Bill Kinnersley) (04/29/91)

Somewhere nearby, you will find the latest version of The Language List,
in five parts.  The list now contains information on approx 950 computer
languages, past and present.  Most of the entries now have a definite
reference to published material, where more complete information may be
found.  Thanks to everyone who has contributed!  

Please if you know about languages that are not mentioned here yet, or see
anything that should be corrected, send it along to me for inclusion.

Better information is especially needed on the following languages, that
so far I've only seen mentioned indirectly:

AMP - Symbolic math
ASPIK - Specification language.
BETA - The successor of SIMULA.
C* - 
CCalc - Symbolic math
CCS - A specification language.  [Denmark?]
CIP-L - 
CoCoA - Symbolic math
CPL - C. Strachey et al [Reference?]
Crystal - High level functional parallel language.
CS-4 - Mentioned in "An Overview of Ada", J.G.P. Barnes.
CSP - 2. Specification language
Delta - Expression based, J.C. Cleaveland 1978.
Estelle - A specification language.  [Denmark?]
GAP - Symbolic math
Gedanken - Reynolds, 1970.
ICEBOL - Variant of SNOBOL. [I thought this was the name of a conference?]
INTELLECT - A query language - Larry Harris, 1977.
ISETL - Symbolic math
Joyce - Language for distributed computers, based on CSP and Pascal. Designed
   by Per Brinch Hansen, Denmark.
Lakota - 
LOOK - Specification language.
LTR - Mentioned in "An Overview of Ada", J.G.P. Barnes.
MAD - 2. Early extensible language.
MDL - "Muddle", developed at MIT, was basis for ZIL.
MORAL - Mentioned in "An Overview of Ada", J.G.P. Barnes.
MUSL - Manchester University Systems Language.
Neon - An object-oriented extension of FORTH, for the Mac.
O2 - 
PDL2 - Mentioned in "An Overview of Ada" J.G.P. Barnes.
Pearl - 1. Constructive maths, Constable, Cornell U, 80's.
PIE - From CMU, similar to ACTUS.
Plasma - Carl Hewitt, ca 1980.  The first actor language.
Platon - Developed at DAIMI, U Aarhus, Denmark.
POOL - A family of languages from Philips Research Labs, Netherlands.
PROMAL - 
QUEL - A query language.
Quest - 
SDL - 2. A specification language.
SETL2 - Improvements over SETL.  Kirk Snyder.
SPECIAL - SRI specification language.
STP4 - Statistical language.
WAFL - WArwick Functional Language.  Lisp-type language developed at Warwick
  U, England.
Y - Arizona.  Similar to Yacc??

-- 
--Bill Kinnersley
  billk@hawk.cs.ukans.edu
226 Transfer complete.