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


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

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

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

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 Keerbergen, Belgium, for Mac or MS-DOS.

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

GMAP - GCOS Macro Assembler Program - Macro assembler for the GCOS-8
operating system on Honeywell/Bull DPS-8 machines.  "GCOS8 OS GMAP User's
Guide", Bull.

GMPL - A microprogramming language for an HP machine.  "A Microprogramming
Language Directed Architecture", R.M. Guffin, Proc 15th Ann Workshop
Microprogramming (MICRO-15), 1982, pp.42-49.

Goedel - Declarative language for AI, based on many-sorted logic.  Strongly
typed, polymorphic, declarative, with a module system.  Supports bignums
and sets.  "The Goedel Programming Language", P. M. Hill et al, MIT Press
1994, ISBN 0-262-08229-2.  Goedel 1.4 - partial implementation in SICStus
Prolog 2.1.

Haskell 1.1.  Lazy evaluation, higher order functions, pattern matching,
and type classes.  Lambda, case, conditional and let expressions, and
wildcard, as and irrefutable patterns.  Lacks modules, arrays, standard
classes.  "Introduction to Gofer 2.20", M.P. Jones.  Interpreter in C.
Unix Version 2.28a, Mac_Gofer version 0.16 beta.*

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

GOM - Good Old MAD.  Don Boettner, U Mich.  MAD for the IBM 360.  Parts of
the MTS Time-sharing system were written in GOM.

GOOD - Graph-Oriented Object Database.  A graph manipulation language for
use as a database query language.  "A Graph-Oriented Object Database
Model", M. Gyssens et al, Proc ACM Symp Princs of Database Sys, Mar 1990.

GOSPL - Graphics-Oriented Signal Processing Language.  A graphical DSP
language for simulation.  "Graphic Oriented Signal Processing Language -
GOSPL", C.D. Covington et al, Proc ICASSP-87, 1987.

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


  1. General Purpose Language.  ALGOL 60 variant with user-definable typoes
and operators.  Sammet 1969, p.195.  "The GPL Language", J.V. Garwick et
al, TER-05, CDC, Palo Alto 1969.

  2. "A Sample Management Application Program in a Graphical Data-driven
Programming language", A.L. Davis et al, Digest of Papers, Compcon Spring
81, Feb 1981, pp.162-167.

  3. Genken Programming Language.  K. Asai, Japan Atomic Energy Res Inst.
Variant of PL360.  "Experience With GPL", K. Asai, in Machine Oriented
Higher Level Languages, W. van der Poel, N-H 1974, pp.371-376.

GPM - General Purpose Macro-generator.  Early text-processing language
similar to TRAC, implemented on Atlas 2.  "A General Purpose
Macrogenerator", C. Strachey, Computer J 8(3):225-241 (Oct 1965).

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

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

GRAAL - ("Grail")  General Recursive Applicative and Algorithmic Language.
FP with polyadic combinators.  "Graal: A Functional Programming System with
Uncurryfied Combinators and its Reduction Machine", P. Bellot in ESOP 86,
G. Goos ed, LNCS 213, Springer 1986.

GRAF - GRaphic Additions to fortran.  FORTRAN plus graphic data types.
"GRAF: Graphic Additions to FORTRAN", A. Hurwitz et al, Proc SJCC 30
(1967).  Sammet 1969, p.674.

GRAIL - Graphical Input Language.  Flowchart language entered on a graphics
tablet.  The graphical followon to JOSS.  "The GRAIL Language and
Operations", T.O. Ellis et al, RM-6001-ARPA, RAND, Sept 1969.

GRAIN - Pictorial query language.  "Pictorial Information Systems", S.K.
Chang et al eds, Springer 1980.

GRAM - An extension of BNF used by the SIS compiler generator.  "SIS -
Semantics Implementation System", P.D. Mosses, TR DAIMI MD-30, Aarhus U,

Grapes - A Modula-like system description language.  "GRAPES Language
Description.  Syntax, Semantics and Grammar of GRAPES-86", Siemens Nixdorf
Inform, Berlin 1991, ISBN 3-8009-4112-0.  

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

Graphic Language - For specifying graphic operations.  "A Problem Oriented
Graphic Language", P.J. Schwinn, proc ACM 22nd Natl Conf, 1967.  Sammet
1969, p.677.

GRAPPLE - GRAPh Processing LanguagE.  1968.  "A Directed Graph
Representation for Computer Simulation of Belief Systems", L.G. Tesler et
al, Math Biosciences 2:19-40 (1968).

GRASP/Ada - Graphical Representation of Algorithms, Structures and
Processes.  "A Graphicallky Oriented Specification Language for Automatic
Code Generation", J.H. Cross, Auburn U, NASA CR-183212, 1989.

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

GRG - Computer algebra system for differential geometry, gravitation and
field theory.  Version 3.1 works with PSL-based REDUCE 3.3 or 3.4.

GRIND - GRaphical INterpretive Display.  Graphical input language for PDP-
9.  "GRIND: A Language and Translator for Computer Graphics", A.P. Conn,
Dartmouth, June 1969.

Groff - GNU's implementation of roff.  (See nroff, troff).

GSBL - "GSBL: An Algebraic Specification Language Based on Inheritance", S.
Clerici et al in in ECOOP '88, S. Gjessing et al eds, LNCS 322, Springer
1988, pp.78-92.

GSL - Grenoble System Language.  M. Berthaud, IBM, Grenoble.  "GSL Language
Reference Manual", M. Berthaud et al, March 1973.  "A MOL-Based Software
Construction System", M. Berthaud et al, in Machine Oriented Higher Level
Languages, W. van der Poel, N-H 1974, pp.151-157.

GSPL - Greenberg's System Programming Language.  Bernard Greenberg.

GVL - Graphical View Language.  T.C.N. Graham & J.R. Cordy, Queen's U.
Canada.  A visual language for specifying interactive graphical output.
"GVL: A Graphical, Functional Language for the Specification of Output in
Programming Languages", J.R. Cordy & T.C.N. Graham, Proc IEEE Intl Conf on
Comp Lang ICCL'90 (March 1990).

GW-BASIC - "Gee Whiz" BASIC.  Microsoft's BASIC with graphic extensions.

Gypsy - Specification and verification of concurrent systems software.
Message passing using named mailboxes.  Separately compilable units:
routine (procedure, function, or process), type and constant definition,
each with a list of access rights. "Report on the Language Gypsy", A.L.
Ambler et al, UT Austin ICSCS-CMP-1 Aug 1976.

GYVE - OS programming language, highly modular (similar to Modula?)  "GYVE,
A Programming Language for Protection and Control in a Concurrent
Processing Environment", Phillip Shaw, Courant Inst, NYU, 1978.

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

HALGOL - Hewlett-Packard.  A simple language for communicating with devices
such as modems and X.25 PADs.

HALMAT - Intermediate language used by HAL/S.

Haskell - (named for the logician Haskell B. Curry).  April 1990.  Designed
by a committee from the functional programming community.  A lazy purely
functional language largely derived from Miranda.  Static polymorphic
typing, higher-order functions, user-defined algebraic data types, and
pattern-matching list comprehensions.  Innovations include a class system,
operator overloading, functional I/O system, functional arrays, and
separate compilation.   "Report on the Programming Language Haskell Version
1.1", Paul Hudak & P. Wadler eds, CS Depts, U Glasgow and Yale U. (Aug
1991).  Version 1.2: SIGPLAN Notices 27(5) (Apr 1992).

  Yale Haskell - Version 2.0.6, Haskell 1.2 built on Common Lisp*

  Glasgow Haskell - Version 0.20, generates C output*

  Haskell-B - Haskell 1.2 implemented in LML, generates native code*

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

HCLP - Hierarchical CLP.  "Constraint Hierarchies and Logic Programming",
A. Borning et al, in Proc Sixth Intl Logic Prog Conf, June 1989, pp. 149-

HCPRVR - "HCPRVR: An Interpreter for Logic Programs", D. Chester in Proc
First Natl Conf on AI, Stanford, 1980.

HDFL - Single assignment language.  "Methods for Handling Structures in
Data-Flow Systems", J.L. Gaudiot, Proc 12th Intl Symp Comp Arch, June 1985.



  1. DEA.  Language for industrial robots.

  2. A lazy Scheme.

HEQS - E. Derman.  Constraint language for financial modeling.  Uses an
extension of the equation solver in IDEAL.  "A Simple Equation Solver and
Its Application to Financial Modeling", E. Derman et al, Soft Prac & Exp
14(12):1169-1181 (Dec 1984).

HERAKLIT - A distributed object-oriented language.  "Definition einer
objektorientierten Programmiersprache mit hierarchischem Typkonzept", B.
Hindel, diss U Erlangen-Nuernberg, Dec 1987.

Hermes - IBM, June 1990.  An imperative, strongly typed process-oriented
language for complex distributed systems.  A follow-on effort to NIL[2].
Threads, relational tables, typestate checking, capability-based access,
dynamic configuration.  "Hermes: A Language for Distributed Computing", R.
Strom et al, P-H 1991, ISBN 0-13-389537-8. 0.7alpha for Unix

HIBOL - A variant of DIBOL, used in Infotec computers.

High Performance Fortran - Proposed extension to Fortran 90 with additional
support for data parallel programming.  "High Performance Fortran: Status


HiLog - W. Chen et al, Stony Brook, 1989.  Logic programming in higher
order logic.  "HiLog as a Platform for Database Languages (Or Why Predicate
Calculus is Not Enough)", W. Chen et al, 2nd Intl Workshop on Database Prog
Langs, Morgan Kaufmann, 1989.

HINT - Hierarchical Information NeTs.  For CDC 3600.  "HINT: A Graph
Processing Language", R.D. Hart, Michigan State U, Apr 1970.

HLISP - "Monocopy and Associative Algorithms in an Extended Lisp", E. Goto,
U Tokyo May 1974.

HLL - A machine-independent high level microprogramming language.
"Automatic Microcode Generation for Horizontally Microprogrammed
Processors", R.J. Sheraga et al, Proc 14th Ann Workshop Microprogramming
(MICRO-14), 1981, pp.154-168.

HOL - Higher Order Logic.  A proof-generating system for higher order logic
based on LCF.  "HOL: A Machine Oriented Formulation of Higher Order Logic",
M.J.C. Gordon, Report 68, Comp Lab U Cambridge (1985).  "Introduction to
HOL", M.J.C. Gordon et al, Cambridge U Press 1993 ISBN 0-521-441897 for Sun 4

Honeywell-800 Business Compiler - Another name for FACT.  Sammet 1969,

HOOK - ? Object Oriented Kernel.  Delphia.  An object-oriented extension of
Delphia Prolog.

Hope - ("springs eternal" and so forth.)  R.M. Burstall, U Edinburgh 1978.
Functional language with polymorphic types and lazy lists.  First language
to use call-by-pattern.  "HOPE, an Experimental Applicative Language", R.M.
Burstall et al, Conf Record 1980 LISP Conf, p.136-143 (Aug 1980), "A HOPE
Tutorial", R. Bailey, BYTE Aug 1985, pp.235-258.  "Functional Programming
with Hope", R. Bailey, Ellis Horwood 1990.  PC Hope, plus a lazy variant for Unix,

Hope+ - Alvey Flagship project, Imperial College.  An extension of Hope
with real numbers, vectors, call-by-WHNF.  "Hope+", N. Perry, Imperial
College, IC/FPR/LANG/2.5.1/7, 1988.

Hope+C - Alvey Flagship project, Imperial College.  Further evolution of
Hope+ with continuation-based I/O, coroutines, and RFC's.  For Sun-3's with
Motorola FPU's.  (See Massey Hope).

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

HPcode - Stack-based intermediate language used by HP in many of its
compilers for RISC and stack-based architectures.  Supports Fortran, Ada,
Pascal, COBOL and C++.  Descended from Stanford's U-code.

HPCode-Plus - Descendant of HPcode with data types, developed to be an ANDF
language.  "ANDF: Finally an UNCOL After 30 Years", M.E. Benitez, Jack


HPF - (see High Performance Fortran).

HP-GL - Hewlett-Packard Graphics Language.  Vector graphics language used
by HP plotters.

HP-GL/2 - "HP-GL/2 Programmer's Guide", No. 5959-9733, HP.  (See PCL.)

HPL - Language used in HP9825A/S/T "Desktop Calculators", 1978(?) and
ported to the early Series 200 family (9826 and 9836, MC68000).  Fairly
simple and standard, but with extensive I/O support for data acquisition
and control (BCD, Serial, 16 bit custom and IEEE-488 interfaces), including
interrupt handling.  Currently owned by Structured Software Systems.  "HPL
Operating Manual for Series 200, Models 216, 226 and 235\6", HP 98614-
90010, Jan 1984.

HSL-FX - Hierarchical Specification Language - Function Extension.

HTML - HyperText Markup Language.  Markup language used by the World Wide
Web.  Plain text with tags enclosed in angle brackets.  Defined in SGML.

HTML+ - Successor to HTML, will encode more structure.  Under development.

HUGO - Geac.  A bytecode-interpreted transaction handler.

Hybrid - Concurrent object-oriented language.  "Active Objects in Hybrid",
O.M. Nierstrasz, SIGPLAN Notices 22(12):243-253 (OOPSLA '87) (Dec 1987).

Hyper-C - HyperParallel Tech, France.  Data parallel extension of C, for


Hyperscript - Informix.  The object-based programming language for Wingz,
used for creating charts, graphs, graphics, and customized data entry.

HyperTalk - Bill Atkinson and Dan Winkler.  A verbose semicompiled language
with loose syntax and high readability.  Relies on HyperCard as an object
management system, development environment, and interface builder.
Programs are organized into "stacks" of "cards", each of which may have
"buttons" and "fields".  All data storage is in zero-terminated strings in
fields, local, or global variables; all data references are through "chunk
expressions" of the form last item of background field "Name List" of card
ID 34217'.  Flow of control is event-driven and message-passgin among
scripts that are attached to stack, background, card, field and button
objects.  "Apple Macintosh HyperCard User Guide", Apple Computer 1987.
"HyperTalk Language Reference Manual", A-W 1988.  Available from Claris

HyTime - A hypermedia extension of SGML.  "The HyTime Hypermedia/Time-based
Document Structuring Language", S. Newcomb et al, CACM 34(11):67-83 (Nov

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

IAM - Interactive Algebraic Manipulation.  Interactive symbolic math for
PDP-10.  "IAM, A System for Interactive Algebraic Manipulation", C.
Christensen et al, Proc Second Symp Symb Alg Manip, ACM Mar 1971.

IBEX - Command language for Honeywell's CP-6 OS.

ICES - Integrated Civil Engineering System.  Subsystems include COGO,
include ICETRAN and CDL.  "An Integrated Computer System for Engineering
Problem Solving", D. Roos, Proc SJCC 27(2), AFIPS (Spring 1965).  Sammet
1969, pp.615-620.

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

ICI - Tim Long.  Interactive C Interpreter?  Interpreted language, syntax
similar to C.  Adds high-level garbage-collected associative data
structures.  Exception handling, sets, regular expressions, Dynamic arrays,
database features, screen handling.  Extensible.

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

Iconicode - 1990-1992.  Visual dataflow language, token-based with
hierarchical, recursive and iterative constructs.  Version: IDF with
extensions for image processing.  "IDF: A Graphical Data Flow Programming
Language for Image Processing and Computer Vision", Neil Hunt, Proc IEEE
Conf on Systems Man & {*filter*}netics, IEEE, Nov 1990.  Available from Iconicon

IC-Prolog - Clark & McCabe, Imperial College 1979.  Logic language with

et al in Logic Programming, K.L. Clark et al eds, pp.253-266, Academic
Press 1982.

IC Prolog ][ - Imperial College.  A Prolog with multithreading, TCP
primitives for interprocess communication, mailboxes, and an interface to
Parlog.  "IC Prolog ][: A Language for Implementing Multi-Agent Systems",
Y. Cosmadopoulos et al, in Tutorial and Workshop on Cooperating Knowledge
Based Systems, Keele U 1992.

Id - Irvine Dataflow.  Arvind & Gostelow.  Single assignment language, used
on MIT's Tagged-Token Dataflow Architecture (and soon on Motorola's
Monsoon).  Incrementally compiled, non-strict.  "An Asynchronous
Programming Language for a Large Multiprocessor Machine", Arvind et al,
TR114a, Dept ISC, UC Irvine, Dec 1978.  "The U-Interpreter", Arvind et al,
Computer 15(2):42-50 (1982).  (See Id Nouveau).

IDAMS - Pictorial retrieval language, implemented in APL.  "Concept of the
Diagnostic Image Workstation", D. Meyer-Ebrecht, Proc 2nd Conf on Picture
Archiving (PACS II), SPIE 418, pp.180-183 (1983).

IDEA - Interactive Data Entry/Access.  Data General.  A language in which
you designed the screen first, and then wrote the program around the
predefined fields.  Precursor to the DG COBOL Screen Section.

IDEAL - Van Wyk, Stanford 1980.  Numerical constraint language for
typesetting graphics into documents.  Inspired partly by Metafont.  "A
High-Level Language for Specifying Pictures", C.J. Van Wyk, ACM Trans
Graphics 1(2):163-182 (Apr 1982).  Distributed as part of Troff.


  1. Interactive Data analysis Language.  Xerox.  Built on Interlisp-D.

  2. Interface Description Language.  Nestor, Lamb & Wulf, CMU 1981.
Description of data structures to be passed between the components of an
application, to provide a language-independent intermediate representation.
"The Interface Description Language", R. Snodgrass, Computer Science Press
1989.  Also SIGPLAN Notices 22(11) (Nov 1987) special issue.  Version by
OMG (Object Management Group) for CORBA (Common Object Request Broker

  3. Interface Definition Language.  Project DOE, SunSoft, Inc.  Part of an
effort to integrate distributed object technology into the Solaris OS.  IDL
provides the standard interface between objects, and is the base mechanism
for object interaction.

  4. Interactive Data Language.  Research Systems, 1977.  Commercial array-
oriented language with numerical analysis and display features, for Unix
workstations, DOS Windows and VAX/VMS.  Version 3.0.0

IDMS - Pictorial query language, an extension of Sequel2.  "A Management
System for an Integrated Database of Pictures and Alphanumeric Data", G.Y.
Tang, Computer Graphics Image Processing 16:270-286 (1981).

MIT, ca. 1986.  Dataflow language, began as a functional language, added
streams, resource managers and I-structures (mutable arrays).  Loops are
syntactic sugar for tail recursion.  "Id Nouveau Reference Manual", R.S.
Nikhil, CS TR, MIT, March 1988.  "Id (Version 90.1) Reference Manual", R.S.
Nikhil, CSG Memo 284-2, LCS MIT, July 15, 1991.  (See Id).

IDOL - Icon-Derived Object Language.  Object-oriented preprocessor for
Icon.  "Programming in Idol: An Object Primer", C.L. Jeffery, U Arizona CS
TR #90-10.

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

IF1 - Graph language used as an intermediate language for dataflow
hardware.  Used by the OSC SISAL compiler.  "The Manchester Prototype
Dataflow Computer", J.R. Gurd et al, CACM 28(1):34-52 (Jan 1985).

IF2 - Graph language used by the OSC SISAL compiler, a superset of IF1.
"IF2: An Applicative Language Intermediate Form with Explicit Memory
Management", M. L. Welcome et al, UC-LLNL, Nov 1986.

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

IFP - Illinois FP.  Arch Robinson.  Variant of FP with Algol-like syntax.
"The Illinois Functional Programming Interpreter", A.D. Robison, Proc 1987
SIGPLAN Conf on Interpreters and Interpretive Techniques (June 1987).
"Illinois Functional Programming: A Tutorial", A.D. Robison, BYTE Feb 1987. - Versions for Unix and MS-DOS

IFX - "Type Reconstruction with First-Class Polymorphic Values", J. O'Toole
et al, SIGPLAN Notices 24(7):207-217 (Jul 1989).

IGL - Interactive Graphic Language.  Used primarily by Physics Dept at
Brooklyn Poly, uses numerical methods on vectors to approximate continuous
function problems that don't have closed form solutions. [Is this being
confused with Tektronix's graphics library by the same name?]

IIS - Idealized Instruction Set.  Assembly language for the Flagship
parallel machine.  "An Idealized Instruction Set for a Packet Rewrite
Machine", J. Sargeant, Manchester U, 1988.

IITRAN - Simple PL/I-like language for students, on IBM 360.  "The IITRAN
Programming Language", R. Dewar et al, CACM 12(10):569-575 (Oct 1969).

ILIAD - Real time language.  "On the Design of a Language for Programming
Real-Time Concurrent Processes", H.A. Schutz, IEEE Trans Soft Eng SE-
5(3):248-255 (May 1979).

ILLIAC - Assembly language for the ILLIAC computer.  Listed in CACM
2(5):16, (May 1959) p.16.

ILOC - Rice U.  Register-oriented intermediate language targeted to PC/RT.
Source languages include FORTRAN and Russell.


  1. IMProved Mercury autocode.  Used to code the Edinburgh Multi Access
System (EMAS), one of the first OS's written in a high-level language,
apparently predating Unix.  Papers in J British Computer Soc.[?]  Luis
Damas' Prolog interpreter in IMP for EMAS, led to C-Prolog.  (See

  2. Extensible dialect of ALGOL-60, on CDC 1604.  Ned Irons, IDA,
Princeton.  "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.

1970.  An extension of B with floating point.  For the GE 600, also cross-
compiled to VAX and Intel 8080.

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 an Ada preprocessor.

Input - See ALPHA.

INSIGHT - Simulation modeling language especially for health care problems.
"Simulation Modeling with INSIGHT", S.D. ROberts Proc 1983 Winter Sim Conf,
S.D. Roberts et al eds, pp.7-16.

INTCODE - A low-level interpreted language used in bootstrapping the BCPL
compiler.  The INTCODE machine has six control registers and eight
functions.  "INTCODE - An Interpretive Machine Code for BCPL", M. Richards,
Computer Lab, U Cambridge 1972.  "BCPL - The Language and its Compiler",
Martin Richards & Colin Whitby-Stevens, Cambridge U Press 1979.  (See

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

INTERACTIVE - Network simulation language.  "Design and Implementation of a
Pascal Based Interactive Network Simulation Language", R. Lakshmanan, PhD
Thesis, Oakland U, Rochester MI 1983.

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.

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

Interlisp - Descendant of BBN-Lisp.  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.  Dynamically scoped.  NLAMBDA functions do
not evaluate their arguments.  Any function could be called with optional
arguments.  "Interlisp Programming Manual", W. Teitelman, TR, Xerox Rec Ctr
1975.  Interlisp-10 used shallow binding, while Xerox's Interlisp-D used
deep binding.

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.

IRDATA - Industrial Robot DATA.  A standardized robot control code.
"IRDATA, Industrial Robot Data", DIN 66313, Beuth-Verlag 1991.

IRL - Industrial Robot Language.  A high-level language for programming
industrial robots.  "IRL, Industrial Robot Language", DIN 66312, Beuth-
Verlag 1992.

Ironman - HOLWG, DoD, Jan 1977, revised Jul 1977.  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).  "Revised Ironman Requirements for High Order Computer
Programming Languages", US Dept of Defense, Jul 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., for MS-DOS, Mac, Unix, VAX/VMS, and source.


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

  2. Concurrent language?

ISL - Interface Specification Language.  Xerox PARC.  Interface description
language used by the ILU (Inter-Language Unification) system.  Includes
descriptions of multiple inheritance, exceptions and garbage collection.

ISLisp - International Standard LISP, ISO WG 16, draft Dec 1992.  An
object-oriented Lisp intended as an international replacement for Common
Lisp, EuLisp, Le-Lisp and scheme.  Goals are object orientation,
extensibility, efficiency, and suitability for non-academic use.*

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 - Barbacci, Carnegie-Mellon 1979.  Instruction Set Processor
Specifications.  Operational hardware specification language.  Successor to
ISPL.  "Instruction Set Processor Specifications", M.R. Barbacci et al,
IEEE Trans Computers, C-30(1):24-80 (Jan 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, Carnegie Tech 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.

Symbolic math program, written in Scheme.

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 'with',
'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 1985.

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., a sequential implementation built
on SICStus Prolog.

  2. W.M. Waite, U Colorado.  Intermediate language, claimed as an
implementation of UNCOL.  Used on CDC 6600.  "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.

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.  Yuasa and Hagiya.  Compiles to ANSI C.  "Design
and Implementation of Kyoto Common Lisp", T. Yuasa

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

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

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.

--Bill Kinnersley

226 Transfer complete.

Tue, 18 Feb 1997 20:15:23 GMT  
 [ 1 post ] 

 Relevant Pages 

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

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

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

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

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

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

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

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

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

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


Powered by phpBB® Forum Software