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

System (EMAS), one of the first OS's written in a high-level language,
apparently predating Unix.  References are in J British Computer Soc.  (See

  2. Extensible dialect of ALGOL-60, on CDC 1604.  "Experience with an
Extensible Language", Edgar T. Irons, CACM 13(1):31-39 (Jan 1970).

  3. Interpretive Menu Processor.  Used to implement much of the user
interface of the Alis office automation package from Applix, Inc.

Ina Jo - [FDM?]  "The Ina Jo Specification Language Reference Manual", J.
Scheid et al, TR TM-(L)-6021/001/00, SDC Mar 1985.

Info BASIC - Variant of Pick BASIC used with PRIME's PRIMOS.

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

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

InnovAda - Object-oriented extension to Ada, said to be LISP-like.
Implemented as a preprocessor.

INTCODE - Intermediate language used in the implementation of BCPL.  "BCPL
- The Language and its Compiler", Martin Richards & Colin Whitby-Stevens,
Cambridge U Press 1979.  (See OCODE).

INTELLECT - Larry Harris, 1977.  A query language, close to natural

INTERCAL - (Allegedly stands for "Compiler Language With No Pronounceable
Acronym").  Woods & Lyon, Princeton U, May 26, 1972.  Claims to have
nothing in common with any other major programming language.  "The INTERCAL
Programming Language Reference Manual", Donald R. Woods & James M. Lyon.
C-INTERCAL implementation as a C preprocessor by Eric Raymond.
ftp:, also comp.sources.misc/Volume16

INTERCOM - Assembly language for the G-15.  Listed in CACM 2(5):16 (May
Versions: INTERCOM 101, INTERCOM 1000.

INTERLISP - Once INTERLISP was one of two main branches of LISP (the other
being MACLISP).  In 1981 Common LISP was begun in an effort to combine the
best features of both.  INTERLISP includes a LISP programming environment.
"INTERLISP Programming Manual", W. Teitelman, TR, Xerox Rec Ctr 1975.

Intermediate Programming Language - Arthur W. Burks.  A very early attempt
to express machine language at a higher level of abstraction.  Like
Plankalkul, it used a right-handed style of assignment, in which the new
value appears on the right.

Interpress - Xerox.  Interpretive FORTH-like graphics language, possibly
the first page description language, predating postscript.  Both are
descendants of JaM.  Used on Xerox printers.  "Interpress, The Source
Book", Steven Harrington et al, P-H 1988.

Iota - Specification language.  "The Iota Programming System", R. Nakajima
er al, Springer 1983.

IPL - Information Processing Language.  Allen Newell, J.C. Shaw, H. Simon,
Carnegie ca. 1956.  Said to be the first list-processing language, also the
first language to support recursion.  Very low level.  Sammet 1969, pp.388-
400.  "Information Processing Language-V Manual", A. Newell ed, P-H 1965.
Versions: IPL-I (never implemented), IPL-II (1957 for JOHNNIAC), IPL-III
(existed briefly), IPL-IV, IPL-V (1958, for IBM 650, 704, 7090, many
others.  Widely used), IPL-VI.

IPS - Threaded language.  "IPS, An Unorthodox High Level Language", K.
Meinzer, BYTE pp.146-159 (Jan 1979).

IQ - Pictorial query language, implemented in Ratfor.  "Structured
Implementation of an Image Query Language", Y.E. Lien et al, in Database
Techniques for Pictorial Applications, A. Blaser ed, pp.416-430.

Ironman - HOLWG, DoD, 1978.  Fourth of the series of DoD requirements that
led to Ada.  "Department of Defense Requirements for High Order Computer
Programming Languages", SIGPLAN Notices 12(12):39-54 (Dec 1977).  (See
Strawman, Woodenman, Tinman, Steelman).

Isabelle-92 - A generic theorem prover, supporting a wide variety of
logics.  A system of type classes allows polymorphic object-logics with
overloading and automatic type inference.

ISBL - Mathematical query language.

U.  "An Introduction to ISETL Version 1.9", G.M. Levin, Dept MCS, Clarkson
U.  Current version: 3.0.
ftp:, for MS-DOS, Mac, Unix, VAX/VMS, and source.


  1. Dialect of JOSS.  Sammet 1969, p.217.

  2. Concurrent language?

ISO Pascal - Pascal standard, ISO 7185-1982.  Changes from Jensen & Wirth's
Pascal include: name equivalence; names must be bound before they are used;
loop index must be local to the procedure; formal procedure parameters must
include their arguments; conformant array schemas.  

ISP - Instruction Set Processor.  A family of languages for describing the
instruction sets of computers.  "Computer Structures: Readings and
Examples", D.P. Siewiorek et al, McGraw-Hill 1982.

ISPL - Instruction Set Processor Language.  ca 1971.  Original ISP
language, written in BLISS.  "Computer Structures: Readings and Examples",
D.P. Siewiorek et al, McGraw-Hill 1982.

ISPS - Instruction Set Processor Specifications.  Operational hardware
specification language.  Successor to ISPL.  IEEE Trans Computers, C-
30(1):24-80 (1981). [Bell, Newell, Siewiorek, Barbacci 1982?]

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

IT - Internal Translator.  A.J. Perlis et al, ca 1957.  Early compiler for
math originally for Burroughs 205, then IBM 650.  Forerunner of RUNCIBLE,
GATE, CORRELATE and GAT.  IT source code was converted to PIT, thence to
SPIT.  Sammet 1969, pp.139-141.  Versions: IT-2 produced machine language
directly, IT-3 developed at Carnegie added double-precision floating point.
CACM 1(5):22 (1958).

Ivan - A Diana-like language making up part of VHDL.  "VHDL - The Designer
Environment", A. Gilman, IEEE Design & Test 3, (Apr 1986).

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

IVTRAN - 1966.  Parallel fortran for the Illiac IV.

J - Derivative and redesign of APL.  Purely functional with lexical scope
and more conventional control structures, plus several new concepts such as
function rank and function arrays.  "APL\?"", Roger K.W. Hui et al, APL90
Conf Proc, Quote Quad 20(4):192-200.  Version 4.1 for MS-DOS, Sun, Mac,
Archimedes.  Source available in C from Iverson Software, (416)925-6096.

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

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

JACAL - Primitive symbolic math program, built on scm.

Jade -

  1. U Washington, late 80's.  A strongly-typed language, object-oriented
but without classes.  For type research.  The compiler output is Smalltalk.
[Submitter claimed that Jade has exactly one user!]

  2. Implicit coarse-grained concurrency.  The constructs 'withth',
'withonly' and 'without' create tasks with specified side effects to shared
data objects.  Implemented as a C preprocessor.  "Coarse-Grain Parallel
Programming in Jade", M.S. Lam et al, SIGPLAN Notices 26(7):94-105 (Jul

JaM - John and Martin.  J. Warnock & M. Newell, PARC 1978.  Interpretive
FORTH-like graphics language, forerunner of both Interpress and PostScript.
Mentioned in "PostScript Language reference Manual", Adobe Systems, A-W

Janus -

  1. Distributed language with an ask/tell constraint system.  "Janus: A
Step Towards Distributed Constraint Programming", V. Saraswat

Conf, S. Debray et al eds, MIT Press 1990.
ftp:, a sequential implementation built on
SICStus Prolog.

  2. "Experience with the Universal Intermediate Language Janus", B.K.
Haddon et al, Soft Prac & Exp 8(5):601-616 (Sep 1978).

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

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

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

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.

JOVIAL - Jule's Own Version of IAL.  Jules I. Schwartz 1959-1960.  Based on
ALGOL 58, with extensions for large scale real-time programming.  Saw
extensive use by the US Air Force.  The data elements were items, entries
(records) and tables.  CACM 6(12):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.

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

Kaleidoscope - Freeman-Benson, U Washington and Universite de Nantes, 1989.
Dynamically typed object-oriented language which mixes imperative and
constraint-oriented features.  Similar 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).  Version:
Kaleidoscope '90.

Kali - Data parallel language.  "Supporting Shared Data Structures on
Distributed Memory Architecures", 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.

KCL - Kyoto Common LISP.  Compiles to ANSI C.  "Design and Implementation
of Kyoto Common Lisp", T. Yuasa, J Info Proc 13(3):284-295 (1990).  "Kyoto
Common Lisp Report", T. Yuasa & M. Hagiya.

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

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

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.

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

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

KRL - Frame 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 Acounts of of KRYPTON", R.J. Brachman et al, Proc IJCAI-
85, 1985.

ksh - Korn Shell command interpreter for Unix.

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-

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-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 Concurent Object language",
Delagi et al, KSL-88-3, Knowledge Sys Labs, Stanford U.

Language H - Early business-oriented language developed by NCR.

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.

LAP4 - Early assembly language for Linc-8 machine.

LAPSE - Single assignment language for the Manchester dataflow machine.  "A
Single Assignment Language for Data Flow Computing", J.R.W. Glauert, M.Sc
Diss, Victoria U Manchester, 1978.

Larch - The Larch Project develops aids for formal specifications.  Each
Larch specification has two components: an interface containing predicates
written in the LIL (Larch Interface Language) designed for the target
language and a 'trait' containing assertions about the predicates written
in LSL, the Larch Shared Language common to all.  "The Larch Family of
Specification Languages", J. Guttag et al, IEEE Trans Soft Eng 2(5):24-365
(Sep 1985).

LARCH/CLU - Larch specification language for CLU.  Used in "Abstraction and
Specification in Program Development", B. Liskov & J. Guttag, MIT Press

LaTeX - see TeX.

LAU - Langage a Assignation Unique.  Single assignment language for the LAU
dataflow machine, Toulouse.  "Pipelining, Parallelism and Asynchronism in
the LAU System", J.C. Syre et al, Proc 1977 Intl Conf Parallel Proc, pp.87-

LAURE - A language for knowledge representation combining object
orientation and logic programming.  Object-oriented exception handling and
a polymorphic type system.

LCC - Language for Conversational Computing.  CMU 1960's.  "LCC Reference
Manual", H.R. Van Zoeren, CMU 1969.


  1. The Larch interface language for ANSI standard C.  J.V. Guttag et al,
TR 74, DEC SRC, Palo Alto CA, 1991.

  2. Liga Control Language.  Controls the attribute evaluator generator
LIGA, part of the Eli compiler-compiler.  "LCL: Liga Control Language", U.
Kastens, U Paderborn.

LCS - Language for Communicating Systems.  Bernard Barthomieu.  A
concurrent SML with behaviors and processes, based upon higher order CCS.
Implemented as a bytecode interpreter in C, portable to Unix and Mac.

LDL - "LDL: A Logic-Based Data-Language", S. Tsur et al, Proc VLDB 1986,
Kyoto Japan, Aug 1986, pp.33-41.

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


  1. LISP Extended Algebraic Facility.  "An Algebraic Extension to LISP",
P.H. Knowlton, Proc FJCC 35 (1969).

  2. "LEAF: A Language which Integrates Logic, Equations and Functions", R.
Barbuti et al in Logic Programming, Functions Relations and Equations, D.
DeGroot et al eds, P-H 1986, pp.201-238.

Lean - U Nijmegen and U East Anglia.  An experimental language based on
graph rewriting, useful as an intermediate language.  Descendant of Dactl0.
"Towards an Intermediate Languae Based on Graph Rewriting", H.P. Barendregt
et al in PARLE: Parallel Architectures and Languages Europe, G. Goos ed,
LNCS 259, Springer 1987, pp.159-175.  (See Clean).

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

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

LEDA - Combines imperative, object-oriented, and logic programming

LeFun - MCC, Austin.  Integration of logic and functional programming.
"LeFun: Logic, Equations and Functions", H. Ait-Kaci et al, Proc 1987 Symp
on Logic Programming, San Francisco.

LEGOL - "Application of MP/3 to the Design and Implementation of LEGOL, A
Legally Oriented Language", S.H. Mandil et al, Intl Symp Programming, paris

Le-Lisp - Jerome Chailloux and Emmanuel St James, INRIA, France.  A LISP
dialect, lexically scoped, with an object system, close to Common Lisp but
with a rather different package and module system.  "le-lisp: A Portable
and Efficient Lisp System", J. Chailloux et al, Proc 1984 ACM Symp on Lisp
and Functional Programming, ACM.  Version v.16, available from ILOG,

Leo - General-purpose systems language, syntactically like Pascal and Y,
semantically like C.  "The Leo Programming Language", G. Townsend, CS TR
84-7, U Arizona 1984.

Lex  - Input language to the Lex scanner generator.  "Lex - A Lexical
Analyzer Generator", M.E. Lesk, CS TR 39, Bell Labs (Oct 1975).  (See
  MLLEX - Implementation and output in SML/NJ.

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

LGDF - Large-Grain DataFlow.  "A Large-grain Data Flow Scheduler for
Parallel Processing on {*filter*}plus", R.G. Babb et al, Proc 1986 Intl Conf on
Paralllel Proc, Aug 1986.

LGN - Linear Graph Notation.  A linearized representation of TCOL trees.
B.W. Leverett et al, "An Overview of the Production Quality Compiler-
Compiler Projects", TR CMU-CS-79-105, Carnegie Mellon 1979.  (See TCOL)

LIDO - Input language for the attribute evaluator generator LIGA (a
successor of{*filter*}and a subsystem of the Eli compiler-compiler).  LIDO is
derived from GAG's input language ALADIN.  "LIDO: A Specification Language
for Attribute Grammars", U. Kastens, Fab Math-Inf, U Paderborn (Oct 1989).

LIFE - Logic of Inheritance, Functions and Equations.  Hassan Ait-Kacy

LOGIN and LeFun.  "Is There a Meaning to LIFE?", H. Ait-Kacy et al, Intl
Conf on Logic Prog, 1991.

language used for implementation of Actor languages.  [Plasma perhaps?]

LIMDEP - Linear programming language used by economists.

LIMP - "Messages in Typed Languages", J. Hunt et al, SIGPLAN Notices
14(1):27-45 (Jan 1979).

Linc - Burroughs/Unisys 4GL.  Designed in New Zealand.

Lincoln Reckoner - ca 1965.  Interactive math including matrix operations,
on TX-2.  "The Lincoln Reckonere: An Operation-Oriented On-line Facility
with Distributed Control", A.N. Stowe et al, Proc FJCC 29 (1966).  Sammet
1969, pp.245-247.

Linda - Yale.  A "coordination language", providing a model for concurrency
with communication via a shared tuple space.  Usually implemented as a
subroutine library for a specific base language.  "Generative Communication

32(4):444-458 (Apr 1989).  (See C-Linda, Ease, Fortran-Linda, LindaLISP,
Lucinda, Melinda, Prolog-Linda).

LindaLISP - Yep, you guessed it.

Lingo - An animation scripting language.  MacroMind Director V3.0
Interactivity Manual, MacroMind 1991.

LINGOL - LINguistics Oriented Language.  Natural language processing.  "A
Linguistics Oriented Programming Language", V.R. Pratt, Third Intl Joint
Conf on AI, 1973.

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

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

LISA - Statistical data analysis.  Similar to S.

late 50's.  Symbolic functional recursive language based on lambda-
calculus, used especially for AI and symbolic math.  Many dialects.  Atoms
and lists.  Dynamic scope.  Both programs and data are represented as list
structures.  Versions include LISP 1 (Original version), LISP 1.5 (MIT
1959), LISP 1.75, LISP 1.9.

LISP 2 - LISP 1.5 with an ALGOL60-like surface syntax.  Also optional type
declarations, new data types including integer-indexed arrays and character
strings, partial-word extraction/insertion operators and macros.  A
pattern-matching facility similar to COMIT was proposed.  "The LISP 2
Programming Language and System", P.W. Abrahams et al, Proc FJCC 29:661-
676, AFIPS (Fall 1966).

LISP70 - LISP dialect, a descendant of MLISP and MLISP2.  Also known as
PLISP and VEL.  Useful for parsing.  Only the pattern-matching system was
published and fully implemented.  According to Alan Kay, LISP70 had an
influence on Smalltalk-72.  "The LISP70 Pattern Matching System, Larry
Tesler et al, IJCAI 73.

LISP A - "LISP A: A LISP-like System for Incremental Computing", E.J.
Sandewall, Proc SJCC 32 (1968).

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

Lisp-Linda - P. Dourish, U Edinburgh 1988.

LISP Machine LISP - Zetalisp.

Lisptalk - "Concurrent Programming Language Lisptalk", C. Li, SIGPLAN
Notices 23(4):71-80 (Apr 1988).

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

Little Smalltalk - A line-oriented near-subset of Smalltalk-80.  "A Little
Smalltalk", Timothy Budd, A-W 1987.
ftp:, source in C.

LLM3 - J. Chailloux.  Assembly language for a virtual machine, the
implementation language for Le-Lisp.

LM-Prolog - Lisp Machine Prolog.  K. Kahn et al, 1983.  "LM-Prolog User
Manual", M. Carlsson et al, Uppsala Dec 1983.
ftp: archive/lm-prolog.tar.Z - Prolog interpreter in Zetalisp

LM3 - The Larch interface language for Modula-3.  (See Larch).  "LM3: A
Larch/Modula-3 Interface Language", Kevin D. Jones, TR 72, DEC SRC, Palo
Alto CA.


  1. Chalmers U Tech, Goteborg, Sweden.  Lazy, completely functional
variant of ML[2].  Implemented on the G-machine.

  2. Logical ML.  Adds to Lazy ML a data type of 'theories' whose objects
represent logic programs.  "Logic Programming within a Functional
Framework", A. Brogi et al, in Programming Language Implementation and
Logic Programming, P. Deransart et al eds, LNCS 456, Springer 1990.

LNF - "A Fully Lazy Higher Order Purely Functional Programming Language
With Reduction Semantics", K.L. Greene, CASE Center TR 8503, Syracuse U

LO - Linear Objects.  Concurrent logic programming language based on
"linear logic", an extension of Horn logic with a new kind of OR-
concurrency.  "LO and Behold! Concurrent Structured Processes", J. Andreoli
et al, SIGPLAN Notices 25(10):44-56 (OOPSLA/ECOOP '90) (Oct 1990).

Logic Design Language - Language for computer design.  "A System
Description Language Using Parametric Text Generation", R.H. Williams, TR
02.487, IBM San Jose, Aug 1970.

LOGIN - Integration of logic programming and inheritance.  "LOGIN: A Logic
Programming Language with Built-In Inheritance", H. Ait-Kaci et al, J Logic
Programming 3(3):185-215 (1986).

LOGLAN - Inst Informatics, Warsaw U.  Object-oriented.  "LOGLAN '88 -
Report on the Programming Language", LNCS 414, Springer, ISBN 3-540-52325-

LOGLISP - Robertson & Sibert, Syracuse 1980.  A Prolog-like language called
LOGIC, embedded in LISP.  "LOGLISP: An Alternative to Prolog", J. Alan
Robinson et al in Machine Intelligence 10, D. Michie ed, Ellis Horwood

LOGO - Developed 1966-1968 by a group at Bolt, Beranek & Newman headed by

beginning programmers, noted for its "turtle graphics" used to draw
geometric shapes.
ftp:    Logo interpreters for Mac, Unix, PC, X

{*filter*} - Language for the On-Line Investigation and Transformation of
Abstractions.  Extension of Culler-Fried system for symbolic math.  "An On-
line Symbol Manipulation System", F.W. Blackwell, Proc ACM 22nd Natl Conf
(1967).  Sammet 1969, p.464.

LOOK - Specification language.  "A Look at Algebraic Specifications", S.N.
Zilles et al, IBM RR, 1982.

LOOKS - "LOOKS: Knowledge-Representation System for Designing Expert
Systems in a Logical Programming Framework", F. Mizoguchi, Proc Intl Conf
5th Gen Comp Sys, ICOT 1984.

LOOPS - Object-oriented LISP extension, used in development of knowledge-
based systems.  "The LOOPS Manual", D.G. Bobrow & M. Stefik, Xerox Corp
1983.  (See CommonLoops).

Lore - Object-oriented language for knowledge representation.  "Etude et
Realisation d'un Language Objet: LORE", Y. Caseau, These, Paris-Sud, Nov

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

LOTOS - Specification language based on temp{*filter*}ordering.  "The Formal
Description Technique LOTOS", P.H.J. van Eijk et al eds, N-H 1989.

preparation system lout.

LPC - ca 1988.  Variant of C used to program the LP MUDs, programmable
multi-user adventures.


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

  2. Langage de Programmation Generique.  An applicative language, both
specification and functional.  Special emphasis on parametrized
declarations.  "Design and Implementation of a Generic, Logic and
Functional Programming Language",  D. Bert et al, ESOP 86, LNCS 213,
Springer 1986.

LPL - List Programming Language.  LISP-like language with ALGOL-like
syntax, for IBM 360.  "LPL - LISP Programming Language", F.W. Blair et al,
RC 3062, IBM TJWRC, Sep 1970.

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


  1. Larch Shared Language.  An assertion language.  (See Larch).

  2. Link and Selector Language.  Graphic query language.  "LSL: A Link and
Selector Language", D.C. Tsichritzis, Proc Intl Conf Management of Data,
ACM 1976, pp.123-134.

LSYD - Language for SYstems Development.  PL/I-like language with data
structure and character extensions.  "Systems Programming Languages", R.D.
Bergeron et al, in Advances in Computers 1971, A-P.

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

LTR - Langage Temps-Reel.  A French predecessor to Ada, Modula-like with a
set of special-purpose real-time constructs based on an event model.
Mentioned in "An Overview of Ada", J.G.P. Barnes, Soft Prac & Exp 10:851-
887 (1980).

LTR2 -

LTR3 - Parayre, France.  Saw wide use by French military and avionics.
"The LTR3 Reference Manual", A. Parayre, Delegation Generale pour
l'Armement, France.


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

descended from ISWIM, lazy but first-order.  Statements are regarded as
equations defining a network of processors and communication lines, through
which the data flows.   Every data object is thought of as an infinite
stream of simple values, every function as a filter.  Lucid has no data
constructors such as arrays or records.  Iteration is simulated with 'is
current' and 'fby' (concatenation of sequences).  "Lucid, the Dataflow
Programming Language", W. Wadge, Academic Press 1985.

Lucinda - Combines Russell-like polymorphism with Linda-like concurrency.
Implemented as a threaded interpreter written in C, for a Sun network and a
Meiko Computing Surface.  "Lucinda - An Overview", P. Butcher, U York

Lucy - Distributed constraint programming language.  An actor subset of
Janus.  "Actors as a Special Case of Concurrent Constraint Programming", K.

ECOOP '90) (Oct 1990).

LUSTRE - Real-time dataflow language for synchronous systems, especially
automatic control and signal processing.  A Lucid subset, plus timing
operators and user-defined clocks.  "Outline of a Real-Time Data-Flow
Language", J.-L. Bergerand et al, Proc IEE-CS Real Time Systems Symp, San
Diego, IEEE Dec 1985, pp.33-42.  "LUSTRE: A Declarative Language for
Programming Synchronous Systems", P. Caspi et al, Conf Rec 14th Ann ACM
Symp on Princ Prog Langs, 1987.

LYaPAS - (Russian acronym for "Logical Language for the Representation of
Synthesis Algorithms").  For the URAL-1 computer.  Coded in octal!
"LYaPAS: A Programming Language for Logic and Coding Algorithms", M.A.
Gavrilov et al eds, Academic Press 1969.

LYNX - U Wisc 1984.  Language for large distributed networks, using remote
procedure calls.  "The Lynx Distributed Programming Language: Motivation,
Design and Experience", M.L. Scott, Computer Langs 16:209-233 (1991).

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

M -

  1. Alternative name for MUMPS.

  2. Silicon Compiler Systems.  A C-like language for multilevel hardware
description.  Currently available in the GDT package from Mentor Graphics.

M3 - Macro processor, forerunner of M4, for the AP-3 mini.

M4 - Macro processor for Unix and GCOS.  "The M4 Macro Processor",
Kernighan & Ritchie, Jul 1977.

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

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

algebra, algebraic geometry, cohomology.
ftp:, Version 3 for Sun, Mac and Amiga, source in C

MACE - Concurrent object-oriented language.[?]

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

MACL - Macintosh Allegro CL.

MACLISP - Project MAC.  Was once one of two main branches of LISP (the
other being INTERLISP).  In 1981 Common LISP was begun in an effort to
combine the best features of both.  "MACLISP Reference Manual", D.A. Moon


  1. Assembly language for VAX/VMS.

  2. PL/I-like language with extensions for string processing.  "MACRO: A
Programming Language", S.R. Greenwood, SIGPLAN Notices 14(9):80-91 (Sep

MACSYMA - Project MAC's SYmbolic MAnipulator.  Joel Moses

comprehensive symbolic math system, written in LISP. "MACSYMA - The Fifth
Year", J. Moses, SIGSAM Bulletin 8(3) (Aug 1974).  Versions: Symbolics
Macsyma, DOE Maxima (ANL), Vaxima.

ftp:   DOE Maxima in Common


  1. Michigan Algorithm Decoder.  Developed at U Michigan by R. Graham,

709 and 7090, later ported to Philco, Univac and CDC machines.  MAD was one
of the first extensible languages: the user could define his own operators
and data types.  "Michigan Algorithm Decoder (The MAD Manual)", U Michigan
Computing Center (1966).  Sammet 1969, p.205.

  2. Dataflow language.  "Implementation of Data Structures on a Data Flow
Computer", D.L. Bowen, Ph.D. Thesis, Victoria U Manchester, Apr 1981.

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

MADTRAN - Early preprocessor that translated FORTRAN to MAD, for gain in

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

Magic Paper - Early interactive symbolic math system.  Sammet 1969, p.510.

Magma2 - Language that allows programmability of the control environment,
e.g. recursion, backtracking, coroutines, nondeterminism, etc.  "Magma2: A
Language Oriented Toward Experiments in Control", Franco Turini, ACM TOPLAS
6(4):468-486 (Oct 1984).

MagmaLISP - Predecessor of Magma2.  "MagmaLISP: A Machine Language for
Artificial Intelligence", C. Mantagero et al, Proc 4th Intl Joint Conf
Artif Intell, 1975, pp.556-561.

MAGNUM - Tymshare Inc, late 70's.  Database language for DEC-10's, used
internally by Tymshare.

Magritte - J. Gosling.  Constraint language for interadctive graphical
layout.  Solves its constraints using algebraic transformations.
"Algebraic Constraints", J. Gosling, PhD Thesis, TR CS-83-132, CMU, May

MAINSAIL - MAchine INdependent SAIL.  From XIDAK, Palo Alto CA, (415) 855-

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

Manchester Autocode - Predecessor of Mercury Autocode.  "The Programming
Strategy Used with the Manchester University Mark I Computer", R.A.
Brooker, Proc IEE 103B Suppl:151-157, 1956.

Mandala - ICOT, Japan.  A system based on Concurrent Prolog.  "Mandala: A
Logic Based Knowledge Programming System", K. Furukawa et al, Intl Conf 5th
Gen Comp Sys 1984.

MAO - Early symbolic math system.  A. Rom, Celest Mech 1:309-319 (1969).

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

Maple - B. Char, K. Geddes, G. Gonnet, M. Monagan & S. Watt, U Waterloo,
Canada 1980.  Symbolic math system.  Waterloo Maple Software.  Current
version: Maple V.

Marseille Prolog - One of the two main dialects of Prolog, the other being
Edinburgh Prolog.  The difference is largely syntax.  The original
Marseille Interpreter (1973) was written in FORTRAN.

MARSYAS - MARshall SYstem for Aerospace Simulation.  Simulation of large
physical systems.  "MARSYAS - A Software System for the Digital Simulation
of Physical Systems", H. Trauboth et al, Proc SJCC, 36 (1970).

MARY - Norwegian research language, somewhat ALGOL68-like.  No operator
precedence.  The back cover of the manual bears the (well-hidden) fragment:

MAS - Modula-2 Algebra System.  "Modula-2 Algebra System", H. Kredel, Proc
DISCO 90 Capri, LNCS 429, Springer 1990, pp270-271.
ftp:, for PC, Atari, Amiga

MASM - Microsoft Assembler for MS-DOS.

Massey Hope - Massey U, NZ.  Refinement of Hope+C with improved syntax, and
no stream I/O.

Matchmaker - A language for specifying and automating the generation of
multi-lingual interprocess communication interfaces.  MIG is an
implementation of a subset of Matchmaker that generates C and C++ remote
procedure call interfaces for interprocess communication between Mach
tasks.  "MIG - The Mach Interface Generator", R.P. Draves et al, CS CMU, (4
Aug 1989).

Mathcad - Symbolic math environment.

Mathematica - (name suggested by Steve Jobs).  Wolfram Research, 1988.
Symbolic math and graphics system.  The language emphasizes rules and
pattern-matching.  "Mathematica: A System for Doing Mathematics by
Computer", Stephen Wolfram, A-W 1988.

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

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

Sun, 19 Feb 1995 06:21:51 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 6 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