The Language List - Version 2.4 (Part 1 of 11) 
Author Message
 The Language List - Version 2.4 (Part 1 of 11)

The Language List - Version 2.4, January 23, 1995

Collected information on about 2350 computer languages, past and present.

Available online as:

Maintained by:

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

  This document is intended to become one of the longest lists of computer
programming languages ever assembled (or compiled).  Its purpose is not to
be a definitive scholarly work, but rather to collect and provide the best
information that we can in a timely fashion.  Its accuracy and completeness
depends on the readers of Usenet, so if you know about something that
should be added, please help us out.  Hundreds of netters have already
contributed to this effort.  We hope that this list will continue to evolve
as a useful resource available to everyone on the net with an interest in
programming languages.


   If you have information about a language that is not on this list,
please e-mail the relevant details to the current maintainer, as shown
above.  If you can cite a published reference to the language, that will
help in determining authenticity.

What Languages Should Be Included

   The "Published" Rule - A language should be "published" to be included
in this list.  There is no precise criterion here, but for example a
language devised solely for the compiler course you're taking doesn't
count.  Even a language that is the topic of a PhD thesis might not
necessarily be included.  But if material on that language was published in
a technical journal or report, or if it formed the basis for additional
research, the language belongs in this list.  A language does NOT have to
be implemented (actually running on at least one computer) to be included.
Many languages appearing in the ACM SIGPLAN Notices fall into this

   In general when there's any doubt, an entry will be included.  Making
the list as complete as possible necessarily means there will be a large
number of obscure entries.  To compensate for this "clutter" effect, more
widespread languages such as C or fortran should have longer entries.

   For historical completeness roughly 200 early pre-1959 "automatic
programming systems" were included, based on a list from CACM 2(5):16, May
1959.  It can be argued that many of these are not really programming
languages as the term is used today.  We've also included some formalisms
which are clearly not meant to be used as a source language for writing
programs: metalanguages such as BNF, intermediate languages such as P-Code,
and computational models such as Linda.

Dialects, Variants, Versions and Implementations

   Computer languages evolve, and are related to one another in rather
complex ways.  Almost every language can be regarded as an improved version
of something else.  Sometimes it's hard to know where to draw the line and
say "this is a separate language".  Taking LISP as an example, what started
out as a single language has evolved into a large family.  Dialects (such
as Scheme and Common LISP) have major differences and are certainly
considered by their users to be distinct languages.  Variants (such as
Kyoto Common LISP and Allegro CL) are primarily intended to be the same,
but have certain features which make them incompatible.  Implementations
are designed to run on particular machines or operating systems and will
usually have special features added.  Inevitably a series of revisions will
be issued, causing further small changes in the language.  It has even been
suggested that if command line options are present, each choice of options
could be considered a distinct language!

   A language's name by itself is not always an accurate guide to its
identity.  Sometimes a language will undergo significant evolution without
any official change in name (e.g. SETL2 has done this).  Sometimes just the
name will change (IAL to ALGOL to ALGOL 58).  And occasionally a name has
been used for several distinct languages (e.g. Vulcan).

   It may also be debatable what is "in" a language and what is not.  For
example SML is defined in stages: a "core syntax" surrounded by a standard
set of extensions.  Technically that makes it two separate languages.
Other languages have purposely omitted essential features like I/O from
their definition because they were never intended to be used without a
standard library (C) or interface (Smalltalk-80), or because they
constitute the command language for a particular product or system.  Still
other languages are by their very nature extensible, and the large number
of macro packages built on TeX for example could be called an endless list
of separate "languages".

   Brand names - You might wonder why we do include a number of commercial
products such as Turbo Pascal.  Usually these items offer non-standard
extensions to the base language.  This has been particularly true in the
varieties of BASIC and Prolog.  But also one could argue that in a strict
sense Microsoft C and Turbo C for example are distinct languages.
   Another reason for including entries of this type is that many languages
are proprietary, appearing only in a certain product.  Such languages may
be distinctive and interesting and deserve to be here.  On the other hand
we don't want the list to become a catalog of commercial programming

What Each Entry Should Contain

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

Date of origin:  The year when a language first appeared.  Since the
design, implementation and distribution of a language can take place over a
period of several years, such dates are often approximate.  Any language
that has an ANSI, ISO or BSI standard should include the date approved.
For specific brands such as Turbo Pascal the release dates of each version
can be listed.

Reference:  At least one reference work on the language, as definitive or
as official as possible.

Availability:  ftp site, commercial source or publisher, contacts for
further information.

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

   Any material marked with brackets "[]" is doubtful and may be considered
a request for further information.

   Editorial Comments -  What constitutes a good language has often become
the subject of intense debate.  We've tried to avoid adding to this by
avoiding any remarks that are subjective, such as calling a language
"powerful".  Nevertheless some comments might still be construed this way.
For instance saying that Pascal is "ALGOL-like" could offend both some
ALGOL and some Pascal users.  Also, some questions of historical origin are
not universally agreed upon.

   Classification - It's been suggested that the languages in this list
should be arranged into categories, but to do so would be extremely
difficult.  For every classification scheme there wlll be a large
proportion of languages that do not fit.  The languages are therefore
listed alphabetically, and in fact we think that this is the most useful
organization.  You'll find that the following categories have been referred
to in the list, but we must emphasize that most languages are not purely
one or the other, and we are really categorizing language features.

Imperative language

        A language which operates by a sequence of commands that change the
value of data elements.  Typified by assignments and iteration.

Declarative language

        A language which operates by making descriptive statements about data
and relations between data.  The algorithm is hidden in the semantics of
the language.  This category encompasses both applicative and logic
languages.  Examples of declarative features are set comprehensions and
pattern-matching statements.

Procedural language

        A language which states how to compute the result of a given problem.
Encompasses both imperative and functional languages.

Applicative language

        A language that operates by application of functions to values, with no
side effects.  A functional language in the broad sense.

Functional language

        In the narrow sense, a functional language is one that operates by use
of higher-order functions, building operators that manipulate functions
directly without ever appearing to manipulate data.  Example: FP.

Definitional language

        An applicative language containing assignments interpreted as
definitions.  Example: Lucid.

Single Assignment language

        An applicative language using assignments with the convention that a
variable may appear on the left side of an assignment only once within the
portion of the program in which it is active.

Dataflow language

        A language suitable for use on a dataflow architecture.  Necessary
properties include freedom from side effects, and the equivalence of
scheduling constraints with data dependencies.  Examples: Val, Id, SISAL,

Logic language

        A logic language deals with predicates or relationships p(X,Y).  A
program consists of a set of Horn clauses which may be:
        facts - p(X,Y) is true
        rules - p is true if q1 and q2 and ...qn are true
        queries - is g1 and g2 and true?  (gi's are the goals.)
        Further clauses are inferred using resolution.  One clause is selected
containing p as an assumption, another containing p as a consequence, and p
is eliminated between them.  If the two p's have different arguments they
must be unified, using the substitution with the fewest constraints that
makes them the same.
    Logic languages try alternative resolutions for each goal in
succession, backtracking in a search for a common solution.  OR-parallel
languages try alternative resolutions in parallel, while AND-parallel
languages try to satisfy several goals in parallel.

Constraint language

        A language in which a problem is specified and solved

read more »

Fri, 11 Jul 1997 16:33:46 GMT  
 The Language List - Version 2.4 (Part 1 of 11)

Applesoft BASIC - Version of BASIC on Apple computers.

APPLOG - Unifies logic and functional programming.  "The APPLOG Language",
S. Cohen in Logic Programming, deGroot et al eds, P-H 1986, pp.39-276.

APT - Automatically Programmed Tools.  For numerically controlled machine
tools.  The first language to be an ANSI standard: ANSI X3.37.  "APT Part
Programming", McGraw-Hill.  Versions: APT II (IBM 704, 1958), APT III (IBM
7090, 1961).  Sammet 1969, p.605.

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

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

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

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

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

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

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

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

ARITH-MATIC - Alternate name for A-3.

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

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

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

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

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

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

ASIS - Ada Semantic Interface Specification.  A layered, vendor-independent
architecture providing an interface to the Ada program library.
info: //*

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

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

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

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

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

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

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

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

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

Aspirin - MITRE Corp.  A language for the description of neural networks.
For use with the MIGRAINES neural network simulator.  Version: 6.0*

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

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

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

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

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

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

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

Atlas Commercial Language - [?]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

B -

  1. Thompson, 1970.  A systems

read more »

Fri, 11 Jul 1997 16:36:06 GMT  
 The Language List - Version 2.4 (Part 1 of 11)

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


  1. Cornell List Processor.  List processing language, an extension of
CORC, used for simulation.  Sammet 1969, p.461.

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

CLP(R) - Constraint Logic Programming (Real).  Joxan Jaffar, TJWRC & S.
Michaylov, Monash U, 1986.  A constraint-logic programming language with
real-arithmetic constraints.  A superset of Prolog.  "The CLP(R) Language
and System", J. Jaffar et al, IBM RR RC16292 (#72336) (Nov 1990).  Version:
1.2 for Unix, MS-DOS and OS/2, available from the author.

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

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

CLU - CLUster.  1974-1975.  CLU is an object-oriented language of the
Pascal family designed to support data abstraction, similar to Alphard.
Introduced the iterator: a coroutine yielding the elements of a data
object, to be used as the sequence of values in a 'for' loop.
    A CLU program consists of separately compilable procedures, clusters
and iterators, no nesting.  A cluster is a module naming an abstract type
and its operations, its internal representation and implementation.
Clusters and iterators may be generic.  Supplying actual constant values
for the parameters instantiates the module.
    There are no implicit type conversions.  In a cluster, the explicit
type conversions 'up' and 'down' change between the abstract type and the
representation.  There is a universal type 'any', and a procedure force[]
to check that an object is a certain type.  Objects may be mutable or
immutable.  Garbage collection is built in.
    Exceptions are raised using 'signal' and handled with 'except'.
Assignment is by sharing, similar to the sharing of data objects in LISP.
Arguments are passed by call-by-sharing, similar to call by value, except
that the arguments are objects and can be changed only if they are mutable.
CLU has own variables and multiple assignment.
        TED (a text editor), R (a document formatter), SWIFT (an operating
system), and lp (a proof tool used for formal specification) have been
written in CLU.
    "Abstraction and Specification in Program Development", Barbara Liskov
and John Guttag, McGraw-Hill, 1986.  "CLU Reference Manual", Barbara Liskov
et al, LNCS 114, Springer 1981.* - versions for Sun, VAX/VMS.
    //* - portable version, compiles to C
    //* - compiles to C

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

Versions for MS-DOS, Unix.

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


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

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

Cmm - C Minus Minus.  Scripting language.

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

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

COALA - "COALA: The Object Code of the Compiler Producing System", S.
Kruszewski et al, MERA, Warsaw 1974.

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

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

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

Cocol - Coco Language.  A language for writing left-attributed LL(1)
grammars.  Syntactic resemblance to Modula-2.  Used as the input language
for the Coco LL(1) parser generator, which produces Modula-2 output.  "A
Compiler Generator for Microcomputers", P. Rechenberg et al, P-H 1989.
Version: Cocol-2 for the Coco-2 generator. (Oberon and modula-2 versions)
    // (C version)

Code 2.0 - Large-grain dataflow language.  Has a graphical interface for
users to draw communication structure.  "The CODE 2.0 Parallel Programming
Language", P. Newton et al, Proc ACM Intl Conf on Supercomput, Jul 1992.

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

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

COGENT - COmpiler and GENeralized Translator.  Compiler writing language
with pattern-directed string and list processing features, for CDC 3600 and
CDC 3800.  A program consists of productions defining a context-free
language, plus analysis and synthesis function generators, "COGENT
Programming Manual", J.C. Reynolds, ANL-7022, Argonne, Mar 1965.  Sammet
1969, p.638.  "An Introduction to the COGENT System", J.C. Reynolds, Proc
ACM 20th Natl Conf, 1965.

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

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

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

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

COLD - A sugared version of COLD-K.

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

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

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

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

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

Comma - COMputable MAthematics.  Esprit project at KU Nijmegen.

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

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

Common LISP - An effort begun in 1981 to provide a common dialect of LISP.
The result is a large and complex language, fairly close to a superset of
MacLisp.  Lexical binding, data structures using defstruct and setf,
closures, multiple values, types using declare, a variety of numerical
types.  Function calls allow optional, keyword and &rest arguments.  
Generic sequence can either be a list or an array.  Formatted

read more »

Fri, 11 Jul 1997 16:39:50 GMT  
 The Language List - Version 2.4 (Part 1 of 11)

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", A. Schwarte & H. Hanselmann, Proc PCIM 90,

DTALGOL - Decision Table Algol.  Victoria U, Wellington.  An ALGOL superset
that added decision tables.  On Burroughs Large System.

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

Dual FCP - [?]

DuoTalk - Smalltalk-like language with separate inheritance hierarchies for
types and classes.  "Separation of Hierarchies in DuoTalk", C. Lunau, J
Object- Oriented Programming 2(2):20-26, 1989.

Durra - Description language for coarse-grained concurrency on
heterogeneous processors.  "Durra: A Task-level Description Language", M.R.
Barbacci et al, CMU/SEI-86-TR-3, CMU 1986.

DYANA - DYnamics ANAlyzer.  Early specialized language for vibrational and
other dynamic systems.  Sammet 1969, p.628.

Dylan - DYnamic LANguage.  Advanced Technology Group East, Apple Computer.
A simple object-oriented LISP dialect, most closely resembles CLOS and
Scheme.  "Dylan, an Object-Oriented Dynamic Language", Apple 1992. - compiler implemented in Scheme

Dynace - DYNAmic C language Extension.  Blake McBride, 1993.  Extension of
C, adds classes, multiple inheritance, dynamic binding, garbage collection
and threads.  Implemented as a C preprocessor and library.  Available from
Algorithms Corp, (615)791-7736.

DYNAMO - DYNamic MOdels.  Phyllis Fox & A.L. Pugh, 1959.  Continuous
simulation including economic, industrial and social systems.  Versions:
"DYNAMO User's Manual", A.L. Pugh, MIT Press 1976.

DYSAC - Digital Simulated Analog Computer.  Sammet 1969, p.629.

DYSTAL - DYnamic STorage ALlocation.  Adds lists, strings, sorting,
statistics and matrix operations to FORTRAN.  Sammet 1969, p.388.  "DYSTAL:
Dynamic Storage Allocation Language in FORTRAN", J.M. Sakoda, in Symbol
Manipulation Languages and Techniques, D.G. Bobrow ed, N-H 1971, pp.302-

E -

  1. An extension of C++ with database types and persistent objects.  Used
in the Exodus database system.  "Persistence in the E Language: Issues and
Implementation", J.E. Richardson et al, Soft Prac & Exp 19(12):1115-1150
(Dec 1989).*

language with semantics similar to C.  Lists, low-level polymorphism,
exception handling, quoted expressions, pattern matching, object
inheritance.  Version for the Amiga.

Eagle - dBASE-like dialect bundled with Emerald Bay, sold by Migent from
1986-1988, later renamed Vulcan when Wayne Ratliff reacquired the product.

Ease - General purpose parallel programming language, combining the process
constructs of CSP and the distributed data structures of Linda.
"Programming with Ease: Semiotic Definition of the Language", S.E. Zenith,

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

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

EBASIC - Gordon Eubanks, now at Symantec.  Form of BASIC that led to

EBNF - Extended BNF.  Backus-Naur Form with one or more added constructs,
usually regular expressions.  CACM, 1977?

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.

Echidna - Constraint logic programming embedded in an object-oriented
language.  The syntax is an extension of Edinburgh Prolog.  "Hierarchical
Arc Consistency Applied to Numeric Processing in Constraint Logic
Programming", G. Sidebottom et al, TR-91-06, CSS-IS, Simon Fraser U, and
Comp Intell 8(4) (1992).

ECL -  Extensible CL.  Wegbreit, ca 1970.  "The ECL Programming System", B.
Wegbreit, Proc FJCC 39:253-261, AFIPS (Fall 1971).  "ECL Programmer's
Manual", B. Wegbreit, TR 23-74, Harvard U (Dec 1974).

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

ECP - Extended Concurrent Prolog.  Concurrent Prolog with OR parallelism,
set abstraction and meta-inference features.  "AND-OR Queuing in Extended
Concurrent Prolog", J. Tanaka et al, Proc Logic Prog Conf '85, LNCS 193,
Springer 1985. [???]

ECRC-Prolog - Evidently Prolog with coroutine extensions.  "ECRC-Prolog
User's Manual Version 1.0", K. Estenfeld, TR-LP-08 ECRC, Feb 1986.  (See

ECSL - Extended CSL.  Discrete simulation language, successor to CSL.
"Extended Control and Simulation Language", A.T. Clementson, Comp J
9(3):215-220 (1966).

ECSP - An extension to CSP, supporting dynamic communication channels and
nested processes.  "Static Type Checking of Interprocess Communication in
ECSP", F. Baiardi et al, SIGPLAN Notices 19(6):290-299 (June 1984).

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
simulations.  The compiler outputs HYTRAN, which must be run on an analog

Eden - Concurrent object-oriented language with both synchronous and
asynchronous message passing.  "The Eden System: A Technical Review", G.
Almes et al, IEEE Trans Soft Eng SE-11(1):43-59 (Jan 1985).

EDIF - Electronic Design Interchange Format.  Not a programming language,
but a format to simplify data transfer between CAD/CAE systems.  LISP-like
syntax.  "Designer's Guide to EDIF", E. Marx et al, EDN 1987."EDIF
Electronic Design Interchange Format Version 200", ANSI/EIA Standard 548.

Edinburgh Prolog - Prolog dialect which eventually developed into the
standard, as opposed to Marseille Prolog.  (The difference is largely
syntax.)  Clocksin & Mellish describe Edinburgh Prolog.  Version: C-Prolog.

Edison -

  1. (named for the American inventor Thomas Edison (1847-1931))  Brinch
Hansen.  A simplified Pascal, with modules and concurrency (cobegin/coend).
"Edison - A Multiprocessor Language", P. Brinch Hansen, CS Dept, USC, Sep
1980.  "Programming a Personal Computer", Brinch Hansen, P-H 1977.

  2. Adds an OPS5-like system to C.  Implemented as a C preprocessor.
"Edison, A Unix and C Friendly Rete Based Production System", B. Thirion,
SIGPLAN Notices 27(1):75-84 (Jan 1992).


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

  2. Event Description Language.  "EDL: A Basis for Distributed System
Debugging Tools", P.C. Bates et al, in Proc Hawaii Intl Conf on Sys Sci,
Jan 1982, pp.86-93.

  3. Event Driven Language.  Language for input to the EDX (Event Driven
Executive) for the IBM Series/1.  The output was machine code for IBM
Series/3 or Series/7, and interpreted on Series/1 by an emulator.

EFL - Extended FORTRAN Language.  FORTRAN preprocessor to provide
structured programming much like C.  A descendant of RATFOR, written in C.
"An Informal Description of EFL", S.I. Feldman.

Eh - "A".  Software Portability Group, U Waterloo.  A typeless language
derived from (and similar to) B.  Provides guaranteed order of evaluation
for side effects in expressions.  Also character indexing operators.  "Eh
Reference Manual", R.S.C. Braga, RR CS-76-45, U Waterloo, Nov 1976.  (See

language.  Classes with multiple and repeated inheritance, 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.  Implemented as
a C preprocessor.  "Eiffel: The Language", Bertrand Meyer, P-H 1992.
Interactive Software Eng, Goleta CA, (805) 685-1006.  Version 2.3.4.
(See Sather).

Eiffel 3 - Latest version of the Eiffel language.  Available as Eiffel/S
from SiG Computer GmbH, Germany.

EL1 -  Extensible Language One.  B. Wegbreit, Harvard ca 1974.  An
extensible language, internally somewhat LISP-like, but fully typed with
records and pointers.  The external syntax is Algol-like and extensible,
supporting user-defined data structures, control structures and operations.
The parser is table-driven, with a modifiable set of productions.  Used as
the basis for the ECL operating system. "Studies in Extensible Programming
Languages", B. Wegbreit, Garland Pub 1980.

el(alpha) - Aims to be a high-level language that knows about real
hardware, for systems programming.  "Essential Language el(alpha) - A
Reduced Expression Set Language for Systems Programming", T. Watanabe et
al, SIGPLAN Notices 26(1):85-98.

Elan - "Top-down Programming with Elan", C.H.A. Koster, Ellis Horwood 1987.

ELF - Binary format used by System V Release 4 Unix.


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

  2. Embedded Lisp

read more »

Fri, 11 Jul 1997 16:40:53 GMT  
 The Language List - Version 2.4 (Part 1 of 11)

17(4) (Dec 1985).

FUNLOG - Functional programming plus unification.  "Lazy" in the sense that
expressions are reduced only if they are not unifiable.  "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 polymorphic language based on Scheme, allowing side
effects and first-class functions.  Attempts to integrate functional and
imperative programming.  Expressions have types, side effects (e.g.
reading, writing or allocating) and regions (stating where the effects may

et al, MIT/LCS/TR-407, Oct 1987.  Version: FX-89.

FX-90 - Partial type and effect reconstruction and first-class modules.

G -

  1. "G: A Functional Language with Generic Abstract Data Types", P.A.G.
Bailes, Computer Langs 12(2):69-94 (1987).

  2. Oregon State U 1988.  Combines functional, object-oriented,
relational, imperative and logic programming (you name it we got it).  "The
Multiparadigm Language G", J. Placer, Computer Langs 16:235-258(1991).

Gabriel - 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. Bhattacharya, DSP Systems, Proc ISCAS-89, 1989.

GADS - Picture retrieval language.  "Integrated Geographical Databases: The
GADS Experience", P.E. Mantey et al, in Database Techniques for Pictorial
Applications, A. Blaser ed, pp.193-198.

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

Galaxy - An extensible language in the vein of EL/1 and RCC.  "Introduction
to the Galaxy Language", Anne F. Beetem et al, IEEE Software 6(3):55-62.

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

Gambit - A variant of Scheme R3.99 supporting the 'future' construct of
Multilisp.  Implementation includes compilers for Mac and 680x0 Unix
systems.  Version: 2.0


  1. language for matrices and generation of mathematical programming
reports.  "GAMMA 3.3 for MPS/MPSX, IBM System:/360", Bonnor & Moore Assocs
(Mar 1975).

  2. A high-level parallel language.  Research Directions in High-Level
Parallel Languages, LeMetayer ed, Springer 1992.

GAN - Generating and Analyzing Networks.  "GAN - A System for Generating
and Analyzing Activity Networks", A. Schurmann, CACM 11(10) (Oct 1968).

GAP - Groups Algorithms and Programming.  Johannes Meier, Alice Niemeyer,
Werner Nickel, Martin Schonert, Aachen 1988.  Symbolic math for
computational discrete algebra, especially group theory.  "GAP 3.3 Manual,
M. Schonert et al, Lehrstuhl D Math, RWTH Aachen, 1993.  Designed 1986,
implemented 1987, version 2.4 released 1988, version 3.1 released 1992., version for Sun.

GAPLog - General Amalgamated Programming with Logic.  LOGPRO group,
Linkoping Sweden.  Restricted version of constraint logic programming,
using S-unification but not restricted to a single domain.  "Logic Programs
with External Procedures", J. Maluszynski et al, in Logic Programming
Languages, Constraints, Functions and Objects, K.R. Apt et al eds, MIT
Press 1993.

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

GARP - Graphical language for concurrent programming.  "Visual Concurrent
Programmint in GARP", S.K. Goering er al, PARLE '89 v.II, LNCS 366, pp.165-

GASP - Graph Algorithm and Software Package.  PL/I extension for
programming graph algorithms.  "GASP - Gprah Algorithm Software Package",
S. CHase, TR CS Dept, U Illinois, Dec 1969.

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

GATE - GAT Extended?  Based on IT.  Sammet 1969, p.139.

Gauss - Aptech Systems [?]

Gawk - GNU's implementation of a superset of POSIX awk, a pattern scanning
and data manipulation language.


  1. General Control Language.  A portable job control language.  "A
General Control Interface for Satellite Systems", R.J. Dakin in Command
Languages, C. Unger ed, N-H 1973.

  2. Gnu Common Lisp.  1994.  Formerly AKCL.  (See KCL and AKCL).

G-Code -

  1. Johnsson & Augustsson, Chalmers Inst Tech.  Intermediate language used
by the G-machine, an implementation of graph reduction based on
supercombinators.  "Efficient Compilation of Lazy Evaluation", T. Johnsson,
SIGPLAN Notices 19(6):58-69 (June 1984).

  2. A machine-like language for the representation and interpretation of
attributed grammars.  Used as an intermediate language by the Coco compiler
generator.  "A Compiler Generator for Microcomputers", P. Rechenberg et al,
P-H 1989.

GDPL - Generalized Distributed Programming Language.  "GDPL - A Generalized
Distributed Programming Language", K. Ng et al, Proc 4th Intl Conf Distrib
Comp Sys, IEEE 1984, pp.69-78.

GEA - Graph Extended ALGOL.  Extension of ALGOL-60 for graph manipulation,
on UNIVAC 1108.  "A Language for Treating Graphs", S. Crespi-Reghizzi et
al, , CACM 13(5) (May 1970).

GECOM - For the GE-255.  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 - John Reynolds, 1970.  "GEDANKEN - A Simple Typeless Language
Based on the Principle of Completeness and the Reference Concept", J.C.
Reynolds, CACM 13(5):308-319 (May 1970).

GEL - Scripting language used in the object-oriented development
environment GainMomentum.  Mentioned in Structured Rapid Prototyping, 1989
or Object-Oriented Rapid Prototyping, John L. Connell, Yourdon Press 1995.

General Purpose Graphic Language - "A General Purpose Graphic Language",
H.E. Kulsrud, CACM 11(4) (Apr 1968).

Gentleman's Portable Coroutine System - Coroutine package in FORTRAN.  "A
Portable Coroutine System", W.M. Gentleman, Info Proc 71, C.V. Freiman ed,

GEORGE - Charles Hamblin, 1957.  One of the earliest programming languages,
stack-oriented, used reverse Polish notation.  Implemented on the English
Electric DEUCE.  "GEORGE: A Semi-Translation Programming Scheme for the
DEUCE, Programming and Operations Manual", C. L. Hamblin, U New S Wales
(1958).  "Computer Languages", C.L. Hamblin, Aust J Sci 20(5):135-139 (Dec
1957) and Aust Comp J 17(4):195-198 (Nov 1985).

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

Gerald - "Gerald: An Exceptional Lazy Functional Programming Language",
A.C. Reeves et al, in Functional Programming, Glasgow 1989, K. Davis et al
eds, Springer 1990.

GEST - Generic Expert System Tool.  Expert system shell with frames,
forward and backward chaining, fuzzy logic.  Version 4.0.  For Symbolics
LISP machines only.

GHC - Guarded Horn Clauses.  K. Ueda.  Parallel logic language similar to
Parlog.  Guards and committed-choice nondeterminism.  (See FGHC, KL1).

Gia-2 - Gary's Ikonas Assembler.  "Differences Between GIA-2 and C", G.
Bishop, TR 82-010, U N Carolina (June 1982).

GIM-1 - Generalized Information Management Language.  Nelson, Pick,
Andrews.  Proc SJCC 29:169-73, AFIPS (Fall 1966).

GIN5 - Special-purpose macro assembler used to build the GEORGE 3 operating
system for ICL1900 series machines.  A macro could examine the assembly
process and possibly modify its further course.

Ginger - U Warwick.  Simple functional language with parallel constructs.

GIP - General Interpretive Programme.  1956.  An early interpreted language
for the English Electric DEUCE, with array operations and an extensive
library of numerical methods.  "Interpretive and Brick Schemes, with
Special Reference to Matrix Operations", English Electric Company, DEUCE
News No. 10 (1956).

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

GKS - Graphical Kernel System.

GL - Graphics Language.  Silicon Graphics.

Glammar - A pattern transformation language for text-to-text translation,
Used for compiler writing and linguistics.

GLASS - General LAnguage for System Semantics.  Esprit project at KU

Glenda - Seyfarth, Arumugham and Bickam, U South Mississippi.  A
realization of Linda based on PVM.  (See PVM).

coupled distributed systems from modular event-oriented programs.  "Glish:
A User-Level Software Bus for Loosely Coupled Distributed Systems", V.
Paxson et al, Proc 1993 Winter USENIX Conf, Jan 1993.

Glisp - Generalized LISP.  D.C. Smith, Aug 1990.  A coordinated set of
high-level syntaxes for Common LISP.  Contains Mlisp, Plisp and ordinary
LISP, with an extensible framework for adding others.  Written in Plisp.

Brian Hicks <>, U Queensland, St. Lucia 1978.  Graphics objects
correspond to language statements (e.g. line, circle, polygon etc).  New
objects defined using procedures.  2-D Transformations are context
dependent and may be nested.

GLOW - A POP-11 variant with lexical scope.  Reviewed in Byte's UK edition,
May 1992, p.84UK-8.  Available from Andrew Arnblaster, Bollostraat 6, B-
3140 ...

read more »

Fri, 11 Jul 1997 16:41:54 GMT  
 The Language List - Version 2.4 (Part 1 of 11)

JEAN - A dialect of JOSS.

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

Jossle - [?] Type checked language with separate compilation using a
program library.  Mentioned in "Rationale for the Design of Ada", J.
Ichbiah, Cambridge U Press, 1986, p.192.

JOVIAL - Jule's Own Version of IAL.  Jules I. Schwartz 1959-1960.  Based on
ALGOL 58, with extensions for large scale real-time programming.  The data
elements are items, entries (records) and tables.  Extensive use by the US
Air Force.  Most of the software for AWACS is in JOVIAL, running on IBM's
AOCP (360 compatible).  CACM 6(12):721 (Dec 1960)[?].  Versions include
JOVIAL I (IBM 709, 1960), JOVIAL II (IBM 7090, 1961) and JOVIAL 3 (1965).
Dialects: J3, JOVIAL J73, JS, JTS.
info: Ada/Jovial Newsletter, Dale Lange (513)255-4472

Joyce - Brinch Hansen.  Distributed language based on Pascal and CSP.
"Joyce - A Programming Language for Distributed Systems", Per Brinch
Hansen, Soft Prac & Exp 17(1):29-50 (Jan 1987).

JPL - JAM Programming Language.  Imperative string-based language, part of
the JAM tool for developing screen (non-window) applications.  JYACC Corp.

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

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

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

Juno - Numerical constraint-oriented language for graphics applications.
Solves its constraints using Newton-Raphson relaxation.  Inspired partly by
Metafont.  "Juno, a Constraint-Based Graphics System", G. Nelson in
SIGGRAPH '85 Conf Readings, B.A. Barsky ed, Jul 1985, pp.235-243.

Jym - Patrick Bellot, France.  A predecessor to Graal.

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

Universite de Nantes, 1989; U Victoria, 1992.  Object-oriented language
which mixes imperative and constraint-oriented features.  Similar to Siri.
Vaguely related to Prose[2].  "Kaleidoscope: Mixing Objects, Constraints
and Imperative Programming", B.N. Freeman-Benson, SIGPLAN Notices
25(10):77-88 (OOPSLA/ECOOP '90) (Oct 1990).  "Constraint Imperative
Programming", B.N. Freeman-Benson, Ph.D. Thesis, TR 91-07-02, U Wash
(1991).  "Constraint Imperative Programming", Freeman-Benson et al, IEEE
Conf on Comp Lang, Apr 1992.  Versions: Kaleidoscope'90, Kaleidoscope'91,

Kali - Data parallel language.  "Supporting Shared Data Structures on
Distributed Memory Architectures", C. Koelbel et al in Second ACM SIGPLAN
Symp on Princ and Prac of Parallel Programming, pp.177-186, Mar 1990.

KAP - Kernel Andorra Prolog.  "Kernel Andorra Prolog and its Computation

Conf, MIT Press 1990.  Predecessor to AKL.

Karel - Language featured in Karel the Robot: A Gentle Introduction to
Computer Programming, Richard E. Pattis, Wiley 1981.

KBMS - Expert system.

KCL - Kyoto Common LISP.  Taiichi Yuasa and Masami Hagiya, 1984.  Compiles
to ANSI C.  "Design and Implementation of Kyoto Common Lisp", T. Yuasa

Lisp Report", T. Yuasa & M. Hagiya.  (See AKCL and GCL).

K-code.  Language recognized by the K-machine, a virtual machine with an
incremental constraint solver and a constraint-based data store.  Used to
implement Kaleidoscope.  "Implementing Constraint Imperative Programming
Languages: The Kaleidoscope'93 Virtual Machine", G. Lopez et al, SIGPLAN
Notices 29(10):259-271 (Oct 1994).

KEE - Knowledge Engineering Environment.  Frame-based expert system.
Supports dynamic inheritance, multiple inheritance, polymorphism.  Classes,
meta-classes and objects are all treated alike.  A class  is an instance of
a meta-class.  Can control rules for merging of each field when multiple
inheritance takes  place.  Methods  are  written  in LISP.  Actions  may
be triggered when fields are accessed or modified.  Extensive GUI
integrates with objects.  Can  easily make  object updates  to be
reflected on  display or display selections  to update fields.   This can
in turn trigger other  methods or  inference rules  which may  then update
other parts of the display.  Intellicorp, for TI Explorer.  "The Role of
Frame-Based Representation in Reasoning", R. Fikes et al, CACM 28(9):904-
920 (Sept 1985).

Kernel Parlog - Modeless intermediate language for Parlog compilation.
"Notes on the Implementation of Parlog", K.L. Clark et al, J Logic Prog
2(1):17-42 (1985).

system built around a threaded code interpreter.  Semantically resembles
Self and Omega.  Syntacically resembles Forth.  TR DCS-197-19, U Victoria,
June 1992.

KFX - Kernel language of FX-87.  "Polymorphic Effect Systems", J.M.
Lucassen et al, Proc 15th Ann ACM Conf POPL, ACM 1988, pp.47-57.

Kid - Kernel language for Id.  A refinement of P-TAC, used as an
intermediate language for Id.  Lambda-calculus with first-class let-blocks,
plus I-structures.  "A Syntactic Approach to Program Transformations", Z.
Ariola et al, SIGPLAN Notices 26(9):116-129 (Sept 1991).

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

KL0 - Sequential logic language based on Prolog, for the ICOT project,

KL1 - Kernel Language 1.  An experimental AND-parallel version of KL0 for
the ICOT project, Japan.  An implementation of FGHC.  "Design of the Kernel
Language for the Parallel Inference Machine", U. Kazunori et al, Computer J
(Dec 1990).

Klerer-May System - Columbia U.  Early system with special math symbols.
Its reference manual was two pages long!  "Further Advances in Two-
Dimensional Input-Output by Typewriter Terminals", M. Klerer et al, Proc
FJCC 31 (1967).  Sammet 1969, pp.284-294.

KL-ONE - Frame language.  "An Overview of the KL-ONE Knowledge
Representation System", R.J. Brachman and J. Schmolze, Cognitive Sci 9(2),

KLS - Knotted List Structures.  List-processing language, a predecessor of
SLIP.  "Knotted List Structures", J. Weizenbaum, CACM 5:161 (Mar 19620.

KMODEL - An ancestor of Model-K.  "Preliminary Results on the BEHAVIOR
Specifications Language KMODEL-0", BEHAVIOR Memo 5-91, 1991, GMD, Sankt
Augustin, Germany

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.

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

KRL - Knowledge Representation Language.  A frame-based language.  "An
Overview of KRL, a Knowledge Representation Language", D.G. Bobrow and T.
Winograd, Cognitive Sci 1:1 (1977).

KRS - Frame-based language built on Common LISP.

KRYPTON - Frame language.  "An Essential Hybrid Reasoning System: Knowledge
and Symbol Level Accounts of of KRYPTON", R.J. Brachman et al, Proc IJCAI-
85, 1985.

ksh - Korn Shell command interpreter for Unix.

L0 - Tech U Munich.  Low level language, typed and with ususal flow
control, but only 3-address expressions.  Higher levels L1 and L2 were
planned.  "Brief Survey of L0", H. Scheidig, in Machine Oriented Higher
Level Languages, W. van der Poel ed, N-H 1974, pp.239-247.

L6 - Bell Telephone Laboratories Low-Level Linked List Language.  Ken
Knowlton, 1965.  List processing language, typeless.  "A Programmer's
Description of L6, Bell Telephone Laboratories' Low-Level Linked List
Language", K. Knowlton CACM 9(8):616-625 (Aug 1966).  Sammet 1969, pp.400-

Lace - Language for Assembling Classes in Eiffel.  Specifies how to
assemble an Eiffel system : in which directories to find the clusters,
which class to use as the root, permits class renaming to avoid name
clashes.  "Eiffel: The Language", Bertrand Meyer, P-H 1992.

LADE - Compiler-compiler language?

LADY - "Key Concepts in the INCAS Multicomputer Project", J. Nehmer et al
IEEE Trans Soft Eng SE-13(8):913-923 (Aug 1987).

Lakota - Scripting language, extends existing OS commands.

LAMBDA - A version of typed lambda calculus, used to describe semantic
domains.  "Outline of a Mathematical Theory of Computation", D.S. Scott, TM
PRG-2, PRG, Oxford U, 1971.

lambda-Prolog - An extension of standard Prolog, in which terms are typed
lambda-terms.  Prolog/Mali compiler uses the MALI abstract memory system.

LAMINA - Concurrent object-oriented language.  "Experiments with a
Knowledge-based System on a Multiprocessor", Third Intl Conf Supercomputing
Proc, 1988.  "ELINT in LAMINA, Application of a Concurrent Object
language", Delagi et al, KSL-88-3, Knowledge Sys Labs, Stanford U.

Language H - NCR.  Early business-oriented language.

Laning and Zierler - J.H. Laning Jr and N. Zierler, 1953-1954.  Possibly
the first true working algebraic compiler.  On MIT's Whirlwind computer.
Sammet 1969, pp.131-132.

LAP - LISP Assembly Program.  Assembly language embedded into early LISP.
Sammet 1969, p.597.  Also used by the Liar compiler for MIT Scheme, Emacs

LAP4 - Early assembly language for Linc-8 machine.

LAPSE - Single assignment language for the Manchester dataflow machine.  "A
Single Assignment Language ...

read more »

Fri, 11 Jul 1997 16:42:54 GMT  
 The Language List - Version 2.4 (Part 1 of 11)

MDL - (originally "Muddle").  C. Reeve, C. Hewitt & G. Sussman, Dynamic
Modeling Group, MIT ca. 1971.  Intended as a successor to Lisp, and a
possible base for Planner-70.  Basically LISP 1.5 with data types and
arrays.  Many of its features were advanced at the time (I/O, interrupt
handling and coroutining), and were incorporated into later LISP dialects
("optional", "rest" and "aux" markers).  In the mid 80's there was an
effort to use bytecoding to make the language portable.  CLU was first
implemented in MDL.  Infocom wrote Zork in MDL, and used it as the basis
for the ZIL interpreter.  "The MDL Programming Language", S.W. Galley et
al, Doc SYS.11.01, Project MAC, MIT (Nov 1975).  Implementations exist for
ITS, TOPS-20, BSD 4.3, Apollo Domain, SunOS and A/UX.

me too - Peter Henderson, 1984.  Functional language for executable
specifications.  Like LispKit Lisp, but with sets, maps and sequences to
describe the specification.  "Functional Programming, Formal Specification
and Rapid Prototyping", IEEE Trans Soft Eng, SE-12(2):241-250 (Feb 1986).

MELD - Concurrent, object-oriented, dataflow, modular and fault-tolerant!
Comparable to SR.  "MELDing Multiple Granularities of Parallelism", G.
Kaiser et al, ECOOP '89, pp.147-166, Cambridge U Press 1989.

MeldC - Columbia U, 1990.  A C-based concurrent object-oriented
coordination language built on a reflective architecture.  A redesign of
MELD.  Version 2.0 for Sun4's and DECstations.

Melinda - "Melinda: Linda with Multiple Tuple Spaces", S. Hupfer,

Mentat - U {*filter*}ia.  Object-oriented distributed language, an extension of
C++, portable to a variety of MIMD architectures.  "Mentat: An Object-

al, SIGPLAN Notices 22(12):35-47 (Dec 1987) (OOPSLA '87).  Available now
for Sun 3 & 4 and iPSC/2, and soon Mach, iPSC860, RS/6000 and Iris.

MENTOR - CAI language.  "Computer Systems for Teaching Complex Concepts",
Report 1742, BBN, Mar 1969.

MENYMA/S - "A Message Oriented Language for System Applications", A. Koch
et al, Proc 3rd Intl Conf Distrib Comp Sys, IEEE 1982, pp.824-832.

Mercury Autocode - Autocode for the Ferranti Mercury machine.  (See

MEROON - An object-oriented system built on Scheme.*

Mesa - Xerox PARC, 1977.  System and application programming for
proprietary hardware: Alto, Dolphin, Dorado and Dandelion.  Pascal-like
syntax, Algol68-like semantics.  An early version was weakly typed.  Mesa's
modules with separately compilable definition and implementation parts
directly led to Wirth's design for Modula.  Threads, coroutines
(fork/join), exceptions, and monitors.  Type checking may be disabled.
Mesa was used internally by Xerox to develop ViewPoint, the Xerox Star,
MDE, and the controller of a high-end copier.  It was released to a few
universitites in 1985.  Succeeded by Cedar.  "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 - CDC, ca 1977.  Assembly language for the {*filter*} 200.  CDC Pub

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.

Meta-II - An early compiler-compiler.  "Meta-II: a Syntax Oriented Compiler
Writing Language", V. Schorre, Proc 19th ACM Natl Conf 1964.

Meta-IV - See VDM-SL.

Meta-Crystal - A language for transformations of Crystal programs.
Implemented in T.  "Meta-Crystal- A Metalanguage for Parallel-Program
Optimization", J.A. Yang et al, TR YALEU/DCS/TR-786, Yale Apr 1990.  (See

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


  1. Mega-Extensive Telecommunications Applications Language.  BBS language
for PRODOS 8 on Apple ][.

  2. The syntax-definition formalism of the Mentor system.  Metal
specifications are compiled to specifications for a scanner/parser
generator such as Lex/Yacc.  "Metal: A Formalism to Specify Formalisms", G.
Kahn et al, Sci Comp Prog 3:151-188 (1983).

many innovations.

Met-English - Metropolitan Life, early 60's.  Fortran-like, with support
for variable-length bit fields.  Most MetLife DP in the 60's and 70's was
in Met-English.  Originally for Honeywell machines, but many programs still
run under IBM/MVS via a Honeywell emulator.

METEOR - A version of COMIT with Lisp-like syntax, written in MIT Lisp 1.5
for the IBM 7090.  "METEOR - A List Interpreter for String Transformation",
D.G. Bobrow in The Programming Language LISP and its Interpretation, E.D.
and D.G. Bobrow eds, 1964.

Methods - Digitalk, ca 1985.  Line-oriented Smalltalk for PC's, predecessor
of Smalltalk/V.


  1. MIMIC Hardware Description Language.  Intermetrics.  (703)827-2606

  2. Microwave Hardware Description Language.  Incorporates Haskell 1.2.

Mic-1, Mic-2 - Microprogramming languages, used in Structured Computer
Organization, A.S. Tanenbaum, 3rd ed, P-H 1989, Sect 4.4, 4.5.  [See Mac-

microAPL - An APL-like microprogramming language.  "High Level
Microprogramming with APL Syntax", R.F. Hobson et al, Proc 14th Ann
Workshop Microprogramming (MICRO-14), 1981, pp.131-139.

microPLANNER - G.J. Sussman et al, MIT.  Subset of PLANNER, implemented in
LISP.  Superseded by Conniver.  Important features: goal-oriented, pattern-
directed procedure invocation, embedded knowledge base, automatic
backtracking.  "microPLANNER Reference Manual", G.J. Sussman et al, AI Memo
203, MIT AI Lab, 1970.

microTAL - A high level machine dependent microprogramming language based
on TAL.  Aim was to facilitate migration of TAL functions to microcode.
"microTAL - A Machine-Dependent High-Level Microprogramming Language", J.F.
Bartlett, Proc 14th Ann Workshop Microprogramming (MICRO-14), 1981,
pp.109-114.  (See TAL).

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

MIDL - MicroInstruction Description Language.  "MIDL - A Microinstruction
Description Language", M. Sint, Proc 14th Ann Workshop Microprogramming
(MICRO-14), 1981, pp.95-106.

MIIS - ("Meese").  Interpreted.  One-letter keywords.  Similar to MUMPS?

MIKE - Micro Interpreter for Knowledge Engineering.  Expert system shell
for teaching purposes, with forward and backward chaining and user-
definable conflict resolution strategies.  In Edinburgh Prolog.  BYTE Oct
1990.  Version 2.03

MILITRAN - Sys Res Group, ONR 1964.  Discrete simulation for military
applications.  Sammet 1969, p.657.

MIMIC - J.H. Andrews, NIH 1967.  Early language for solving engineering
problems such as differential equations that would otherwise have been done
on an analog computer.  "MIMIC, An Alternative Programming Language for
Industrial Dynamics, N.D. Peterson, Socio-Econ Plan Sci. 6, Pergamon 1972.

MIMOLA - Operational hardware specification language.  "A Retargetable
Compiler for a High-Level Microprogramming Language", 17th Ann Workshop on
Microprogramming, P. Marwedel, IEEE 1984, pp.267-274.

Mini-ML - "A Simple Applicative Language: Mini-ML", D. Clement et al, Proc
1986 ACM Conf on LISP and Functional Prog, (Aug 1986).

Mini PL/I - A commercial PL/I subset for the Olivetti Audit 7 minicomputer.

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

MINT - Mint Is Not TRAC.  Version of TRAC used as the extension language in
the Freemacs editor.

subset of Miranda, no modules or files.  Can be interactively switched
between eager and lazy evaluation.  Portable source in C from the author.

Miranda - (latin for "admirable", also the {*filter*}e of Shakespeare's

purely functional.  A commercial descendant of SASL and KRC, with ML's type
system.  Terse syntax using the offside rule for indentation.  Type
declarations are optional.  Nested pattern-matching, list comprehensions,
modules.  Sections rather than lambda abstractions.  User types are
algebraic, may be constrained by laws.  Implemented by SKI reduction.  The
KAOS operating system is written entirely in Miranda.  "Miranda: A Non
Strict Functional Language with Polymorphic Types", D.A. Turner, in
Functional Programming Languages and Computer Architecture, LNCS 201,
Springer 1985.  "Functional Programming with Miranda", Holyer, Pitman Press
0-273-03453-7.  (See Miracula, Orwell).* and mira2lml*  Translators from
MIranda to Haskell and Miranda to LML

MIRFAC - Mathematics in Recognizable Form Automatically Compiled.  Early
interactive system resembling BASIC, typewriter output with special math
symbols.  Sammet 1969, pp.281-284.

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

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, used in 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 ...

read more »

Fri, 11 Jul 1997 16:43:53 GMT  
 The Language List - Version 2.4 (Part 1 of 11)

MIT Press 1965.

  2. Official Production System.  CMU, 1970.  The first production-system
(i.e. rule-based) programming language, used for building expert systems.
Written originally in Franz Lisp, later ported to other LISP dialects.

OPS5 - Charles L. F{*filter*}.  1977 version of OPS[2], publicly available from

"Programming Expert Systems in OPS5", L. Brownston et al, A-W 1985.  "An
OPS5 Primer", Sherman et al, comes with OPS5 for DOS.  Other versions:
OPS4, OPS5+, OPS83.  Inference Engine Tech, Cambridge MA. an OPS5 interpreter
in Common LISP.
  C5 - An OPS5 implementation in C.  "Rule-Based Programming in the Unix
System", G.T. Vesonder, AT&T Tech J 67(1), 1988.

OPTRAN - R. Wilhelm, U Saarlandes, early 1980's.  Specification language
for attributed tree transformation.  "POPSY and OPTRAN Manual", ESPRIT
PROSPECTRA Project Item S.1.6-R.3.0, U Saarlandes (Mar 1986).

Orca - Vrije Universiteit, Amsterdam, 1986.  Similar to Modula-2, but with
support for distributed programming using shared data objects, like Linda.
A 'graph' data type removes the need for pointers.  Version for the Amoeba
OS, comes with Amoeba.  "Orca: A Language for Distributed Processing", H.E.

OREGANO - "On the Design and Specification of the Programming Language
OREGANO", D.M. Berry. UCLA-ENG-7388, 1973.

Orient84/K - Y. Ishikawa, Keio U, Yokohama.  "A Concurrent Object-Oriented
Knowledge Representation Language Orient84/K", Y. Ishikawa et al, SIGPLAN
Notices 21(11):232-241 (OOPSLA '86) (Nov 1986).

ORTHOCARTAN - A. Krasinski, Warsaw, early 80's.  Symbolic math, especially
General Relativity.  

Orwell - Lazy functional language, Miranda-like.  List comprehensions and
pattern matching.  "Introduction to Orwell 5.00", P.L. Wadler et al,
Programming Research Group, Oxford U, 1988.


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

  2. Object-oriented language used in the COMANDOS Project.  "OSCAR:
Programming Language Manual", TR, COMANDOS Project, Nov 1988.

O'small - Small object-oriented language intended for teaching.*

OSQL - Object-oriented Structured Query Language.  Functional language,
superset of SQL, used in Hewlett-Packard's OpenODB database system.

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

Ottawa Euclid - Variant of Euclid.

OWHY - Early functional language?  "A Type-Theoretical Alternative to CUCH,
ISWIM, OWHY", Dana Scott, Oxford U 1969.

OWL - Original name of Trellis.

Ox - Language for specification of attribute grammars.  "User Manual for
Ox: An Attribute-Grammar Compiling System based on Yacc, Lex and C", K.M.
Bischoff, TR92-30, Iowa State U, Dec 1992.

Oz - U Saarbrucken.  Object-oriented concurrent constraint language.  Based
on constraint communication, a new form of asynchronous communication using
logic variables.  Partial information about the values of variables is
imposed concurrently and incrementally.  Supports higher order programming
and object-orientation including multiple inheritance.  "Object-Oriented
Concurrent Constraint Programming in Oz", G. Smolka et al.

P+ - "Experience with Remote Procedure Calls in a Real-Time Control
System", B. Carpenter et al, Soft Prac & Exp 14(9):901-907 (Sep 1984).

parallel programming, using monitors on shared memory machines, message
passing on distributed memory machines.  Implemented as a subroutine
library for C and Fortran.  An enhancement of the "Argonne macros",

PABC - Intermediate language recognized by the Parallel ABC machine, used
in the implementation of Concurrent Clean.  "The PABC Simulator",
E.G.J.M.H. NM-^Zecker, TR 89-19, U Nijmegen 1989.

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

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

Paddle - Language for transformations leading from specification to
program.  Used in POPART, a grammar-driven programming environment
generator.  "POPART: Producer of Paddles and Related Tools, System
Builders' Manual", D.S. Wile TR RR-82-21, ISI, Marina del Rey, CA 1982.

PAF - Programmation Auomatique des Formules.  Dmitri Starynkevitch, 1957.
Early language wtih resemblance to FORTRAN II or BASIC.  Papers in French
journal RAIRO, 1961-1963?  Implemented for the S.E.A. CAB500 computer

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

PaiLisp - Parallel Lisp built on Scheme.  1986.  "A Parallel Lisp Language
PaiLisp and its Kernel Specification", T. Ito et al, in Parallel Lisp:
Languages and Systems, T. Ito et al eds, LNCS 441, Springer 1989.

PAISley - Bell Labs.  Operational specification language.  "An Operational
Approach to Requirements Specification for Embedded Systems", P. Zave, IEEE
Trans Soft Eng SE-8(3):250-269 (May 1982).


  1. Paradox Application Language.  Language for Paradox, Borland's
relational database.

  2. For the AVANCE distributed persistent OS.  "PAL Reference Manual", M.
Ahlsen et al, SYSLAB WP-125, Stockholm 1987.  "AVANCE: An Object Management
System", A. Bjornerstedt et al, SIGPLAN Notices 23(11):206-221 (OOPSLA '88)
(Nov 1988).

  3. Object-oriented Prolog-like language.  "Inheritance Hierarchy
Mechanism in Prolog", K. Akama, Proc Logic Prog '86, LNCS 264, Springer
1986, pp.12-21.

  4. PDP Assembly Language.  Assembly language for PDP-8 and PDP-11.

  5. Pedagogic Algorithmic Language.  "PAL - A Language for Teaching
Programming Linguistics", A. Evans Jr, Proc ACM 23rd Natl Conf,
Brandon/Systems Press (1968).

Pam - Toy ALGOL-like language used in "Formal Specification of Programming
Languages: A Panoramic Primer", F.G. Pagan, P-H 1981.

Pandora - Parlog extended to allow "don't-know" non-determinism.  "Pandora:
Non-Deterministic Parallel Logic Programming", R. Bahgat et al, Proc 6th
Intl Conf Logic Programming, MIT Press 1989 pp.471-486.

PANON - A family of pattern-directed string processing languages based on
generalized Markov algorithms.  "String Processing Languages and
Generalized Markov Algorithms", A. C. Forino, Proc IFIP Working Conf on
Symb Manip Languages, pp.141-206, Amsterdam 1968.  PANON-1, based on Simple
GMA's and PANON-2 based on Conditional Functional GMA's.

Paragon - Mark Sherman.  IEEE Software (Nov 1991). [?]

Paralation - PARALlel reLATION.  Sabot, MIT 1987.  A framework for parallel
programming.  A "field" is an array of objects, placed at different sites.
A paralation is a group of fields, defining nearness between field
elements.  Operations can be performed in parallel on every site of a
paralation.  "The Paralation Model: Architecture Independent Programming",

Paralation LISP - Embeds the paralation model in Common LISP.  Available
from MIT Press, (800)356-0343.

Paralation C - Paralation embedded in C.  Under development.

ParAlfl - Hudak, Yale.  Parallel functional language, a superset of Alfl.
Used by the Alfalfa system on Intel iPSC and Encore Multimax.  "Para-
Functional Programming", P. Hudak, Computer 19(8):60-70 (Aug 1986).
"Alfalfa: Distributed Graph Reduction on a Hypercube Multiprocessor", B.
Goldberg & P. Hudak, TR, Yale U, Nov 1986.

Parallaxis - U Stuttgart.  Data-parallel (SIMD) language, based on Modula-
2.  "User Manual for Parallaxis Version 2.0", T. Braunl, U Stuttgart.
Simulator for workstations, Mac and PC.

Parallel C - Never implemented, but influenced the design of C*.

Parallel FORTH - For the MPP.

Parallel Pascal - Data-parallel language, similar to Actus and Glypnir.
"Parallel Pascal: An Extended Pascal for Parallel Computers", A. Reeves, J
Parallel Dist Computing 1:64-80 (1984).

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

Parasol - Parallel Systems Object Language.  Object-oriented, supports
network and parallel computing.  Modules, exceptions.  "The Parasol

Oct 1993, pp.34-41.*

Pari - Symbolic math, especially number theory.  Version 1.37 for Unix,
Macintosh, MS-DOS, OS/2.*

Paris - PARallel Instruction Set.  Low-level language for the Connection

Parlance - Concurrent language.  "Parallel Processing Structures:
Languages, Schedules, and Performance Results", P.F. Reynolds, PhD Thesis,
UT Austin 1979.

Parlog - Clark & Gregory, Imperial College 1983.  An AND-parallel Prolog,
with guards and committed choice [=don't care] nondeterminism.  Shallow
backtracking only.  "Parlog: A Parallel Logic Programming Language", K.L.
Clark and S. Gregory, Imperial College, London, May 1983.  ("Parlog83", in
which the ouput mechanism was assignment).  "Parallel Logic Programming in
PARLOG, The Language and Its Implementation", S. Gregory, A-W 1987.
("Parlog86", in which the output mechanism was unification, as in GHC).
(See Strand). Implementations: MacParlog and PC-Parlog from Parallel Logic
Programming Ltd, Box 49 Twickenham TW2 5PH, UK.

Parlog++ - Andrew Davison ...

read more »

Fri, 11 Jul 1997 16:44:53 GMT  
 [ 21 post ]  Go to page: [1] [2]

 Relevant Pages 

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

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

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

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

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

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

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

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

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

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


Powered by phpBB® Forum Software