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

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

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

nawk, distributed under GNU license but distinct from GNU's gawk.

MBASIC - Microsoft BASIC.

MC - "Design and Implementation of a C-Based Language for Distributed Real-
Time Systems", A. Rizk et al, SIGPLAN Notices 22(6):83-96 (June 1987).

McG360 - Interactive, similar to PAL[5], for IBM 360.  "McG360 Programmer's
Guide", RC 2693, IBM TJWRC, Nov 1969.

MCL - Macintosh Common LISP.

M-Code - Intermediate code produced by the Modula-2 compiler. [which one?]

MCS - Meta Class System.  A portable object-oriented extension of Common

MDL - (originally "Muddle").   C. Reeve, C. Hewitt & G. Sussman, MIT ca.
1971.  Basically LISP 1.5 with data types and arrays.  Many of its features
were advanced at the time, and were incorporated into later LISP dialects.
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

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.

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

Mesa - Xerox PARC, ca 1977.  System and application programming for
proprietary hardware: Alto, Dolphin, Dorado and Dandelion.  Pascal-like
syntax.  Its 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.  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 - 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 - "The Vienna Development Method: The Meta Language", D. Bjorner et
al, eds, LNCS 61 SPringer 1978.

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.

many innovations.

METEOR - Successor to COMIT.  "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.

  2. Microwave Hardware Description Language.  Incorporates Haskell 1.2.

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.

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

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

MILITRAN - Discrete simulation for military applications.  Sammet 1969,

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

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

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

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 -

  1.  Manipulator Language.  IBM language for handling robots.

strict higher-order functional language with statically-checked polymorphic
types, garbage collection and a formal semantics.  It began as the
metalanguage for the Edinburgh LCF proof assistant.  (LCF="Logic for
Computable Functions")  "A Metalanguage for Interactive Proof in LCF",
M.J.C. Gordon et al, 5th POPL, ACM 1978.  (See SML).  LCF ML was
implemented in Stanford LISP.  Cardelli's implementation (1981) in Pascal,
using the FAM.

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


  1. M-expression LISP.  J. McCarthy, 1962.  The original "meta-language"
syntax of LISP, intended for external use in place of the parenthesized S-
expression syntax.  "LISP 1.5 Programmer's Manual", J. McCarthy et al, MIT
Press 1962.

  2. Meta-LISP.  D.C. Smith & H. Enea.  LISP variant with ALGOL-like
syntax.  Not just a surface syntax, a full language.  "MLISP", D.C. Smith,
TR CS-179, CS Dept, Stanford (Oct 1970).  Version: MLISP2.

  3. A hybrid of M-expression LISP and Scheme.  "M-LISP: Its Natural
Semantics and Equational Logic", R. Muller, SIGPLAN Notices 26(9):234-242
(Sept 1991) (PEPM '91).

ML-Linda - U Edinburgh, under development.

exclusion primitives similar to those in Modula-2+ and Mesa.  Lightweight
threads are created using 'fork'.  They are pre-emptively scheduled, and
communicate via shared memory which can be protected by a 'mutex'
(monitor).  "Adding Threads to Standard ML", E. Cooper et al, CMU-CS-90-
186, CMU Dec 1990. Implementations for 68020, SPARC and MIPS, and also VAX-
 and MIPS-based multiprocessors.

Mma - R. Fateman, 1991.  A fast Mathematica-like system, in Allegro CL.

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

Mock Lisp - The LISP used by the Gosling Emacs editor.

MODCAL - Version of HP-PASCAL enhanced with system programming constructs,
used internally by HP.

Mode - Object-oriented.  "The Programming Language Mode: Language
Definition and User Guide", J. Vihavainen, C-1987-50, U Helsinki, 1987.

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

MODEL - Pascal-like language with extensions for large-scale system
programming and interface with fortran applications.  Generic procedures,
and a "static" macro-like approach to data abstraction.  Produced P-code.
Used to implement DEMOS operating system on Cray-1.  "A Manual for the
MODEL Programming Language", J.B. Morris, Los Alamos 1976.

MODSIM II - 1986.  Object-oriented modular language for discrete
simulation, with multiple inheritance, strong typing, integrated 2D and 3D
graphics.  Compiles to C.  CACI, La Jolla, (619) 457-9681.

Modula - MODUlar LAnguage.  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, ETH 1978.  Developed as the system language for the
Lilith workstation.  The central concept is the module which may be used to
encapsulate a set of related subprograms and data structures, and restrict
their visibility from other portions of the program.  Each module has a
definition part giving the interface, and an implementation part.  The
language provides limited single-processor concurrency (monitors,
coroutines and explicit transfer of control) and hardware access (absolute
addresses and interrupts).  "Programming in Modula-2", N. Wirth, Springer

Modula-2* - U Karlsruhe.  Modula-2 extension.  Uses a superset of data
parallelism, allowing both synchronous and asynchronous programs, both SIMD
and MIMD.  Parallelism may be nested to any depth.  Version for MasPar and
simulator for SPARC.

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

Modula-3 - 1988.  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, TR 52, DEC SRC, and
Olivetti Research Center, Aug 1988.  "System Programming with Modula-3",
Greg Nelson ed, P-H 1991, ISBN 0-13-590464-1.  Version: SRC Modula-3 V1.5.
uucp: osu-cis

Modula-P - "Modula-P: A Language for Parallel Programming Definition and
Implementation on a Transputer Network", R. Hoffart et al, IEEE Conf Comp
Langs 1992.

Modula-Prolog - Adds a Prolog layer to Modula-2.  "Modula-Prolog: A
Software Development Tool", C. Muller IEEE Software pp.39-45 (Nov 1986).

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.

Modular Prolog - An extension of SB-Prolog (version 3.1) extended with ML-
style modules.  For Sun-4.

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

MOPS - Michael Hore.  A derivative of Neon.

M{*filter*}- Mentioned in "An Overview of Ada", J.G.P. Barnes, Soft Prac & Exp
10:851-887 (1980).

MORTRAN - A public domain FORTRAN preprocessor for structured programming.

Mouse - Peter Grogono, 1975.  A mighty small macro language.  "Mouse, A

Petrocelli Books, 1983.

Moxie - Language for real-time computer music synthesis, written in XPL.
"Moxie: A Language for Computer Music Performance", D. Collinge, Proc Intl
Computer Music Conf, Computer Music Assoc 1984, pp.217-220.

MP-1 - Assembly language for the MasPar machine.


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

  2. MasPar.  A data-parallel version of C.

  3. Motorola Programming Language.  A low-level PL/I-like language,
similar to PL/M, but for the Motorola 6800.

MPL II - Burroughs VMS MPL II Language Reference Manual.

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

M-Prolog -

  1. Marseille Prolog.

  2. An extension to Prolog involving modules.  "The MProlog System", J.
Bendl et al, Proc Logic Prog Workshop, 1980.

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.

MRS - An integration of logic programming into LISP.  "A Modifiable
Representation System", M. Genesereth et al, HPP 80-22, CS Dept Stanford U

MSG.84 - "Analysis and Design in MSG.84: Formalizing Functional
Specifications", V. Berzins et al IEEE Trans Soft Eng SE-11(8):657-670 (Aug

Muddle - Original name of MDL.

muFP - Functional language for hardware design, predecessor to Ruby.

Mul-T - An implementation of Multilisp built on T, for the Encore Multimax.
"Mul-T: A High-Performance Parallel Lisp", SIGPLAN Notices 24(7):81-90 (Jul

multiC - Wavetracer.  A data-parallel version of C.

MultiLisp - Parallel extension of Scheme, with explicit concurrency.  The
form (future X) immediately returns a 'future', and creates a task to
evaluate X.  When the evaluation is complete, the future is resolved to be
the value.  "MultiLisp: A Language for Concurrent Symbolic Computation", R.
Halstead, TOPLAS pp.501-538 (Oct 1985).

MultiScheme - An implementation of Multilisp built on MIT's C-Scheme, for
the BBN Butterfly.  "MultiScheme: A Paralled Processing System Based on MIT
Scheme", J. Miller, TR-402, MIT LCS, Sept 1987.

MUMPS - Massachusetts General Hospital Utility Multi-Programming System.  A
database-oriented OS and the language that goes with it.  Used originally
for medical records.  Only data type is the character string.  Current
versions for IBM RT and R6000, DSM (Digital Standard Mumps) for DEC,

Language Standard", ANS X11.1-1977.  MUMPS User's Group, Box 208, Bedford
MA 01730.

MU-Prolog - L. Naish, U Melbourne 1982.  Prolog with 'wait' declarations
for coroutining.  "Negation and Control in Prolog", L. Naish, TR 85/12, U
Melbourne (1985).  (See NU-Prolog).

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

Muse - OR-parallel logic programming.

Music - Bell Labs, 60's.  A series of early languages for musical sound
synthesis.  Versions: Music I through Music V.  "An Acoustical Compiler for
Music and Psychological Stimuli", M.V. Mathews, Bell Sys Tech J 40 (1961).

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 - Atkinson & Morrison, St Andrews U; design began ca. 1985, first
implementation Napier88, 1988.  Based on orthogonal persistence, permits
definition and manipulation of namespaces.  "The Napier88 Reference
Manual", R. Morrison et al, CS Depts St Andrews U and U Glasgow, Persistent
Programming Research Report PPRR-77-89, 1989.

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

NAPSS - Numerical Analysis Problem Solving System.  Purdue ca. 1965.
"NAPSS - A Numerical Analysis Problem Solving System", J.R. Rice et al,
Proc ACM 21st Natl Conf, 1966.  Sammet 1969, p.299.

NASTRAN - Engineering language, listed [?] 1976.

NATURAL - Integrated 4GL used by the database system ADABAS.  Menu-driven

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

Nawk - New AWK.  AT&T.  Pattern scanning and processing language.  An
enhanced version of AWK, with dynamic regular expressions, additional
built-ins and operators, and user-defined functions.

NB - ("New B"?)  Original name of C.

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

Nebula - ICL.  Early business-oriented language for Ferranti Orion
computer.  "NEBULA - A Programming Language for Data Processing", T.G.
Braunholtz et al, Computer J 4(3):197-201 (1961).

NELIAC - Navy Electronics Laboratory International ALGOL Compiler.  1958-
1959.  Numeric and logical computations, based on IAL.  "Neliac - A Dialect
of Algol", H.D. Huskey et al, CACM 3(8):463-468 (Aug 1960).  Version:  BC

Neon - Charles Duff.  An object-oriented extension of FORTH, for the Mac.
Inheritance, SANE floating point, system classes and objects for Mac
interfacing, overlays.  Sold by Kriya Systems, 1985-1988.  Modified, made
PD and renamed Yerk.

NETL - Semantic network language, for connectionist architectures.

NEWP - NEW Programming language.  Replaced ESPOL on Burroughs Large System.

NewsClip - Clarinet article filter language.

Newsqueak - "Newsqueak: A Language for Communicating with Mice", R. Pike
CSTR143, Bell Labs (March 1989).

Newton - ALGOL-like language used for undergraduate teaching at Federal
Tech U Lausanne (EPFL).  "Programming in Newton", Wuetrich and Menu, EPFL

NFQL - "NFQL: The Natural Forms Query Language", D. Embley, Trans Database
Sys 14(2):168-211 (June 1989).

NGL - Dialect of IGL.

NIAL - Nested Interactive Array Language.  Queen's U, Canada.  High-level
array-oriented language, based on Array Theory as developed by Trenchard
More Jr.  (Papers on this subject are available from the IBM Cambridge
Scientific Center, Cambridge MA.)  "Programming Styles in NIAL", M.A.
Jenkins et al, IEEE Software 3(1):46-55 (Jan 1986).  (See Q'NIAL).


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

  2. ICL, 1968. [same as 1?]

NIKL - Frame language.  "Recent Developments in NIKL", T.R. Kaczmarek et
al, Proc AAAI-86, 1986.


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

  2. Network Implementation Language.  Strom & Yemini, TJWRC, IBM.
Implementation of complex networking protocols in a modular fashion.  "NIL:
An Integrated Language and System for Distributed Programming", R. Strom et
al, SIGPLAN Notices 18(6):73-82 (June 1983).

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

nML - Specification language for instruction sets, based on attribute
grammars, for back-end generators.  "The nML Machine Description


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

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

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

NORD PL - Intermediate language for Norsk Data computers.  Sintran III (OS
of the ND 10, late 70's) was written in NORD PL.  "NORD PL User's Guide",

Nother - Parallel symbolic math.


  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

  3. NonProcedural Language.  1980.  A relational database language.  "An
Introduction to Nonprocedural Languages Using NPL", T.D. Truitt et al,
McGraw-Hill 1983.  Versions for Apple II, MS-DOS.

NPPL - Network Picture Processing Language.  Interactive language for
manipulation of digraphs.  "A Graph Manipulator for On-line Network Picture
Processing", H.A. DiGiulio, Proc FJCC 35 (1969).

N-Prolog - Prolog extended with explicit negation.  Dov Gabbay, J Logic

Nqthm - Language[?] used in the Boyer-Moore theorem prover.  "Proving
Theorems About LISP Functions", R.S. Boyer et al JACM 22(1):129-144 (Jan

Nroff - Text formatting language/interpreter, based on Unix roff.  (See
Troff, Groff.)

NUCLEOL - List processing language, influenced by EOL.  J. Nievergelt,
Computer J 13(3) (Aug 1970).

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

NU-Prolog - L. Naish, U Melbourne.  A Prolog with 'when' declarations, the
successor to MU-Prolog.  Type-checked.  "NU-Prolog Reference Manual -
Version 1.3", J.A. Thom et al eds, TR 86/10, U Melbourne (1988).  Available
(but not free).

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

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

O2 - (as in "Object-Oriented").  Object-oriented database language used in
the Altair project.  Implemented as an interpreter.  GIP Altair,
Versailles, France.  Francois Bancilhon et al, in "Advances in
Object-Oriented Database Systems", K.R. Dittrich ed, LNCS 334, Springer
1988.  (See CO2).

Oaklisp - K. Lang and B. Perlmutter.  A portable object-oriented Scheme.
Anonymous classes.  "Oaklisp: An Object-Oriented Scheme with First-Class
Types", K. Lang et al, SIGPLAN Notices 21(11):30-37 (Nov 1986) (OOPSLA
ftp: for Amiga

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

Oberon - Wirth, 1988.  A descendant of Modula-2 eliminating 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: for MacII, MS-DOS for MS-DOS for Amiga

Oberon-2 - H. Moessenboeck, 1991.  A superset of Oberon-1 to include
object-orientation.  A redesign of Object Oberon.  Type-bound procedures
(equivalent to methods), read-only export of variables and record fields,
open array variables, and a 'with' statement with variants.  The 'for'
statement is reintroduced.  Second Intl Modula-2 Conf, Sept 1991.
ftp: for SPARC, DECstation and RS/6000

OBJ - Joseph Goguen 1976.  A family of declarative "ultra high level"
languages.  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).
OBJ0 - Tardo.  Based on unsorted equational logic.
OBJT - Tardo.  Error algebras plus an image construct.
OBJ1 -

OBJ2 - Clear-like parametrized modules.  A functional system based on
equations.  "Principles of OBJ2", K. Futatsugi et al, 12th POPL, ACM 1985,

OBJ3 - Based on order-sorted rewriting.  Agent-oriented.  "Introducing
OBJ3", J. Goguen et al, SRI-CSL-88-9, SRI Intl (1988).

Object CHILL - "Object CHILL - An Object Oriented Language for Systems
Implementation", J. Winkler et al, ACM Comp Sci Conf 1992, pp.139-147.

ObjectLOGO - A variant of LOGO with object-oriented extensions.  Lexical
scope.  Version 2.6, for the Mac.  Paradigm Software

Object Oberon - H. Moessenboeck & J. Templ, 1989.  Adds classes and methods
to Oberon.  "Object Oberon - An Object-Oriented Extension of Oberon", H.
Moessenboeck et al, ETH TR 109 (Apr 1990).  "Object Oberon - A Modest
Object-Oriented Language", H. Moessenboeck & J. Templ, in Structured
Programming 10(4), 1989.  (See Oberon-2).

Object-Oriented Turing - under development.  Adds objects and classes to
Turing Plus.

Object Pascal - Developed jointly by Apple Computer and Niklaus Wirth.  An
object-oriented Pascal.  "Object Pascal Report", Larry Tesler, Structured
Language World 9(3):10-17 (1985).

Object Z - U Queensland.

Objective C - Brad Cox, Productivity Products.  An object-oriented superset
of ANSI C, incorporating many ideas from Smalltalk.  Implemented as a
preprocessor for C.  No operator overloading, no multiple inheritance, no
class variables.  Does have run-time binding.  Used as the system
programming language on the NeXT.  "Object-Oriented Programming: An
Evolutionary Approach", Brad Cox, A-W 1986.  Versions for MS-DOS, Macs, VMS
and Unix workstations.  Language versions by Stepstone, NeXT and GNU are
slightly different.  Stepstone Corp, (203) 426-1875.

Objective Turing -

Objlog - Frame-based language.  "The Inheritance Processes in Prolog", C.
Chouraki et al, GRTC/187bis/Mars 1987 (CNRS).

ObjVlisp - 1984.  An object-oriented extension of Vlisp.  Reflective
architecture.  "Metaclasses are First Class: The ObjVlisp Model", P.
Cointe, SIGPLAN Notices 22(121):156-167 (Dec 1987) (OOPSLA '87).

ObjVProlog - Logic programming and object-orientation, an adaptation of the
ObjVlisp model to Prolog.  "ObjVProlog: Metaclasses in Logic", J.
Malenfant, ECOOP '89, Cambridge U Press 1989, pp.257-269.

OBSCURE - "A Formal Description of the Specification Language OBSCURE", J.
Loeckx, TR A85/15, U Saarlandes, Saarbrucken, 1985.

Oc - ("Oh see!")  Parallel logic language.  "Self-Description of Oc and its
Applications", M. Hirata, Proc 2nd Natl Conf Japan Soc Soft Sci Tech,
pp.153-156 (1984).

OCAL - On-Line Cryptanalytic Aid Language.  "OCAS: On-line Cryptanalytic
Aid System", D.J. Edwards, MAC-TR-27, MIT Project MAC, May 1966.  Sammet
1969, p.642.

occam - (named for the English philosopher William of Occam (1300-1349))
Now known as "occam 1".  David May et al, 1982.  Concurrent algorithms,
based on CSP and EPL.  Designed for the INMOS transputer and vice versa.
Expressions are processes, which may be combined in serial and parallel.
Processes communicate via named unidirectional channels.  There is no
operator precedence.  "Occam", D. May, SIGPLAN Notices 18(4):69-79 (1983).
ftp:, simulator for VAX, Tahoe

occam 2 - 1987.  An extension of occam1.  Occam 2 adds floating point,
functions and a type system.  "occam 2 Reference Manual", INMOS, P-H 1988,
ISBN 0-13-629312-3.

OCL - Operator Control Language.  Batch language for the IBM System/36,
used specifically with the RPG II compiler.  (See CL).

OCODE - Intermediate language used by the Cambridge BCPL compiler.  "The
Portability of the BCPL Compiler", M. Richards, Soft Prac & Exp 1(2)


  1. "The Architecture of the FAIM-1 Synbolic Multiprocessing System", A.
Davis et al, 9th Intl Joint Conf in Artif Intell, 1985, pp.32-38.

  2. Operator Identification Language.  Used for overload resolution by the
Eli compiler-writing system.  

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

OLDAS - On-line Digital Analog Simulator.  Interactive version of MIMIC,
for IBM 360.  "OLDAS: An On-line Continuous System Simulation Language",
R.P. Cullen, in Interactive Systems for Experimental Applied Mathematics,
A-P 1968.

Omega - Prototype-based object-oriented language.  "Type-Safe Object-
Oriented Programming with Prototypes - The Concept of Omega", G. Blaschek,
Structured Programming 12:217-225 (1991).

OMNICODE - Thompson, 1956.  Ran on 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, pp.296-299.
Version: OMNITAB II.

Ondine - "Concurrency Introduction to an Object-Oriented Language System
Ondine", T. Ogihara et al, 3rd Natl Conf Record A-5-1, Japan Soc for Soft
Sci Tech, Japan 1986.

Ontic - Object-oriented language for an inference system.  LISP-like
appearance, but based on set theory.  "Ontic: A Knowledge Representation
System for Mathematics", D.A. McAllester, MIT Press 1989.

OOF - Object-Oriented Fortran.  Data items can be grouped into objects,
which can be instantiated and executed in parallel.  Available now for
Suns, Iris, iPSC, soon for nCUBE.

OOPS - "OOPS: A Knowledge Representation Language", D. Vermeir, Proc 19th
Intl Hawaii Conf on System Sciences, IEEE (Jan 1986) pp.156-157.

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-

  3. Simulation language with provision for stochastic variables.  An
extension of Autostat.  "C-E-I-R OPAL", D. Pilling, Internal Report,
C.E.I.R. Ltd (1963).

  4. Language for compiler testing said to be used internally by DEC.


  1. On-line Process Synthesizer.  M. Greenberger, MIT ca. 1964.  Discrete
simulation under CTSS.  Sammet 1969, p.660.  Versions: OPS-3, OPS-4.  "On-
line Computation and Simulation: The OPS-3 System", M. Greenberger et al,
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

Brownston et al, A-W 1985.  Other versions: OPS4, OPS5+, OPS83
ftp: 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.
ftp: OPS5 in Common LISP

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

et al, SIGPLAN Notices 25(5):17-24 (May 1990).

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.

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 - Functional?  "A Type-Theoretical Alternative to CUCH, ISWIM, OWHY",
Dana Scott, Oxford U 1969.

Owl - Original name of Trellis.

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

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.

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 - String processing language 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.

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

Pari - Symbolic math, especially number theory.  Version 1.37 for Unix,
Macintosh, MS-DOS, Amiga.


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

Sun, 19 Feb 1995 06:22:25 GMT  
 [ 1 post ] 

 Relevant Pages 

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

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

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

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

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

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

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

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

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

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

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


Powered by phpBB® Forum Software