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

Springer 1985. [???]

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

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

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

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

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

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

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

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

Edison -

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

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


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

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

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

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

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

language.  Classes with multiple and repeated inheritance, deferred classes
(like Smalltalk's abstract class), and clusters of classes.  Objects can
have both static and dynamic types.  The dynamic type must be a descendant
of the static (declared) type.  Dynamic binding resolves clashes from the
multiple inheritance.  Flattened forms of classes, in which all of the
inherited features are added at the same level.  Generic classes
parametrized by type.  Persistent objects, garbage collection, exception
handling, interface to routines written in other languages.  Implemented as
a C preprocessor.  "Eiffel: The Language", Bertrand Meyer, P-H 1992.
Interactive Software Eng, Goleta CA, (805) 685-1006.  Version 2.3.4.
(See Sather).

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

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

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

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

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


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

Small Common Lisp-like interpreter embedded in the Andrew mail system.

ELISP - Chuck Hedrick, Rutgers.  Implemented originally for DEC-20's, later
used as the LISP in EMACS.

Tech U Berlin.  A Scheme interpreter, easily extendable with new types and
primitive procedures.  First-class environments, dynamic-wind, fluid-let,
macros, dynamic loading of object files, autoloading, and a dump.

ELLA - Defence Research Agency, Malvern UK, 1979.  First prototype 1982.
Hardware design language.

ELLA 2000 - Version of ELLA with more powerful generics and user-defined
attributes.  "ELLA 2000: A Language for Electronic System Design", J.D.
Morison and A.S. Clarke, McGraw-Hill 1993, ISBN 0-07-707821-7.  Implemented
in Algol68-RS. for SPARC

Ellie - Object-oriented language with fine-grained parallelism for
distributed computing.  Based on BETA, Smalltalk, and others.  Parallelism
by unbounded RPC and 'future' objects.  Synchronization by 'dynamic
interfaces.  Classes, methods, blocks and objects all modeled by first-
class 'Ellie objects'.  Genericity, polymorphism and
delegation/inheritance.  "Ellie Language Definition Report", Birger


ELLIS - EuLisp LInda System.  An object-oriented Linda system written for
EuLisp.  "Using Object-Oriented Mechanisms to Describe Linda", P. Broadbery

Implementation, G. Wilson ed, U Edinburgh TR 91-13, 1991.

ELMAGUIDE - Tallinn Poly Inst, 1978.  Metalanguage used for interpretation
of user actions in the ELMA compiler writer.

ELMAMETA - Tallinn Poly Inst, 1978.  A FORTRAN extension used for lexical,
syntactic and semantic sepecification in the ELMA compiler writer.  This
system was widely used in the Soviet Union, and produced an Ada to Diana


  1. English Language Programs.  Language for testing avionics equipment,
on Varian 620/i.  "Multiband Automatic test Equipment - A Computer
Controlled Checkout System", T. Kuroda et al, Proc SJCC, 38 (1971).

Semantically pure, fully lazy.  "Equational Logic as a Programming
Language", M.J. O'Donnell, MIT Press 1985.  Current version: 4.2. for Sun and DEC.

ELSIE - A distributed version of ELLIS.  "Using Object-Oriented Mechanisms

Like Systems and Their Implementation, G. Wilson ed, U Edinburgh TR 91-13,

EM-1 - A stack-oriented intermediate language, used by the Amsterdam
Compiler Kit.

EMA - Extended Mercury Autocode.  (See Autocode).

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

Emerald - Andrew Black, U Washington, early 80's.  The successor of EPL[3].
A polymorphic object-oriented distributed programming language/environment.
Strongly typed, uses signatures and prototypes rather than classes and
inheritance.  "Distribution and Abstract Types in Emerald", A. Black et al,
IEEE Trans Soft Eng SE-13(1):65-76 (Jan 1987).

EML - Extended ML.  A language for formally specifying SML programs.
"Formal Program Development in Extended ML for the Working Programmer", D.
Sannella, Proc 3rd BCS/FACS Workshop on Refinement", Springer 1990.

EMPL - Extensible Microprogramming Language.  An early object-oriented
microprogramming language with PL/I-like syntax.  Extensions include
datatype definitions and operators.  Never fully implemented.  "A Machine
Independent Approach to the Production of Horizontal Microcode, D.J.
DeWitt, PhD Thesis, U Mich 1976.

English - Database language used in the Pick OS.  "Exploring the Pick
Operating System", J.E. Sisk et al, Hayden 1986.

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


  1. Extended Programming In LOGic.  PROLOG with several AND's having
different time constraints.  "Epilog: A Language for Extended Programming
in Logic", A. Porto in Implementations of Prolog, J.A. Campbell ed, Ellis
Horwood 1984.

  2. A data-driven PROLOG, with both AND and OR parallelism.  "EPILOG =
PROLOG + Data Flow", M.J. Wise, SIGPLAN Noices 17:80-86 (1982).


  1. Early PL/I.  McIlroy, Morris et al.  PL/I subset dialect, the first
running PL/I compiler.  Used by Bell Labs and MIT to write Multics, EPL had
extensions to handle the segment/offset nature of Multics pointers.  "EPL
Reference Manual", Project MAC, April 1966.  Sammet 1969, p.542.  (See

  2. Experimental Programming Language.  David May.  Influenced occam.
"EPL: An Experimental Language for Distributed Computing", D.C. May, in
Trends and Applications 1978: Distributed Processing, NBS, pp.69-71.

  3. Eden Programming Language.  U Washington.  Based on Concurrent Euclid
and used with the Eden distributed OS.  Influenced Emerald and Distributed
Smalltalk.  "EPL Programmer's Guide", A. Black et al, U Washington June

  4. Equational Programming Language. Szymanski, RPI.  Equational language
for parallel scientific applications.  "EPL - Parallel Programming with
Recurrent Equations", B. Szymanski in Parallel Functional Languages and
Compilers, B. Szymanski et al, A-W 1991.

EPROS - A specification/prototyping language.  Implemented in Franz Lisp.
"Software Prototyping, Formal Methods and VDM", Sharam Hekmatpour et al, A-
W 1988.

EPSILON - P.A. Ershov, Novosibirsk, 1967.  Macro language with high level
features: strings, lists, etc.  Used to implement ALGOL 68 on the M-220.
"Application of the Machine-Oriented Language Epsilon to Software
Development", I.V. Pottosin et al, in Machine Oriented Higher Level
Languages, W. van der Poel, N-H 1974, pp.417-434.

EPSIMONE - Concurrent simulation language derived from Simone.  "EPSIMONE
Manual", J. Beziin et al, Pub Int No 90, IRISA, Sept 1978.

"EqL: The Language and its Implementation", B. Jayaraman et al, IEEE Trans
Soft Eng SE-15(6):771-780 (June 1989).

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

Eqn - Language for typesetting mathematics.  "A System for Typesetting
Mathematics", B.W. Kernighan and L.L. Cherry, CACM 18(3):151-157 (Mar

Equel - Embedded Quel.  INGRES, Inc.  Combines QUEL theories with C code.

Erlang - Armstrong, Williams & Virding, Ellemtel, Sweden.  Concurrent
functional programming language for large real-time systems.  Untyped.
Pattern matching syntax, recursion equations.  Explicit concurrency,
asynchronous message passing.  Transparent cross-platform distribution.
Primitives for detecting runtime errors.  Real-time garbage collection.
Modules, dynamic code replacement.  Foreign language interface.
"Concurrent Programming in Erlang", J. Armstrong et al, P-H 1993.
Interpreter in SICStus Prolog, compilers in C and in Erlang, for several
Unix platforms.  Free version with no support, commercial version from
Erlang Systems AB.

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

es -

  1. Extensible Shell.  Unix shell derived from rc, includes real
functions, closures, exceptions, and the ability to redefine most internal
shell operations.  "Es - A Shell with Higher Order Functions", P. Haahr et
al, Proc Winter 1993 Usenix Technical Conference.

  2. Expert System.  Forward and backward chaining, and fuzzy set
relations, for IBM PC.  BYTE Oct 1990.

ES-1 - Early text editing interpreter.  Sammet 1969, p.684.

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

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

esim - A simulation language for VLSI, at the switch level.  Primitives are
nodes and transistors.  C.M. Baker et al, "Tools for Verifying Integrated
CIrcuit Design", Lambda 1(3):22-30 (1980).


  1. Extra Simple Pascal.  Subset of Pascal.

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

  3. Extended Self-containing Prolog.  Chikayama.  An object-oriented
extension of KL0.  Backtracking-based control, unification-based parameter
passing, object-oriented calling.  An object in ESP is an axiom set.  A
class definition consists of nature definitions (inheritance), slot
definitions (class variables) and clause definitions.  Multiple inheritance
similar to Flavors.  Implemented for ICOT's PSI Sequential Inference
machine.  "Unique Features of ESP", T. Chikayama, Proc Intl Conf 5th Gen
Comp Sys, ICOT 1984.  (See CESP)

  4. Early symbolic math system.  A. Rom, Celest Mech 3:331-345 (1971).

ESPOL - An ALGOL superset used to write the MCP (Master Control Program) OS
on Burroughs 6700.  Not available to users, it was Extended Algol with the
added ability to access any CPU instrution as a procedure call.  Superseded
by NEWP.  "The B6700 ESPOL Reference Manual", Burroughs, 1970.

Estelle - A Pascal extension for specification of computer network
protocols.  Protocols are described by modules which are communicating
NFA's.  Modules are arranged in a dynamic hierarchy and communicate at
named interaction points.  "The Formal Description Technique Estelle", M.
Diaz et al eds, N-H 1989.  Adopted by CCITT.  ISO 9074 (1989).      Compiles Estelle into C
                                   petdingo   Translates Estelle into C++

Esterel - Distributed language for synchronous interaction of real-time
systems with their environment.  Uses explicit timing requests.  Esterel
programs are compiled into finite automata.  "The ESTEREL Programming
Language and its Mathematical Semantics", G. Berry & L. Cosserat, TR 327,
INRIA, 1984.

ET - Bernd Gersdorf, U Bremen.  An integration of functional and logic

ET++ - Weinand, UBILAB Zurich.  A smalltalk-like system for Suns, built on

ETC - ExTendible Compiler.  FORTRAN-like, macro extendible.  "ETC - An
Extendible Macro-Based Compiler", B.N.{*filter*}man, Proc SJCC 38 (1971).

ETHER - Concurrent object-oriented language?

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


  1. (named for the Swiss mathematician Leonhard Euler (1707-1783))
Revision of ALGOL.  A small predecessor of Pascal.  "EULER: A
Generalization of ALGOL and Its Formal Definition", N. Wirth, CACM 9(1)
(Jan 1966) and 9(2) (Feb 1966).

  2. 1960's.  Lisp with Algol syntax, used for graphics on IBM 360/30 at U
Utah.  CACM article. [?]

EuLisp - 1985-present.  LISP dialect intended to be a common European
standard, with influences from Common LISP, Le LISP, Scheme and T.  First-
class functions, classes and continuations, both static and dynamic scope,
modules, support for parallelism.  The class system (TELOS) incorporates
ideas from CLOS, ObjVLisp and Oaklisp. (Free and Eventually

Euphoria - End User Programming with Hierarchical Objects for Robust
Interpreted Applications.  Interpreted language with dynamic storage and
dynamic typing.  Rapid Deployment Software. for 386

Eurisko - Lenat 1978.  Language for "opportunistic programming".
Constructs its own methods and modifies its strategies as it tries to solve
a problem.  Mentioned by Alan Kay, SIGPLAN Notices 28(3) (March 1993), p.88

Eva -

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

  2. Explicit Vector Language. [?]

EXAPT - EXtended APT.

EXEC - Early batch language for IBM VM/CMS systems.  SC19-6209 Virtual
Machine/ System Product CMS Command and Macro Reference (Appendix F. CMS
EXEC Control Statements)

EXEC2 - IBM, late 70's.  SC24-5219 Virtual Machine/System Product EXEC 2
Reference.  Superseded by REXX.

expect - A script language for dealing with interactive programs.  Written
in Tcl.  "expect: Scripts for Controlling Interactive Tasks", Don Libes,
Comp Sys 4(2), U Cal Press Journals, Nov 1991.*

Express -

  1. ParaSoft Corp.  Concurrency through message-passing to named message
queues.  Available from ParaSoft Corp, (818)792-9941.

  2. Data definition language, meant to become an ISO standard for product
data representation and exchange.  TC 184/SC4 N83, ISO, 31 May 1991.

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

including preconditions, postconditions, class invariants, parametrized
classes, exception handling and garbage collection.  Implemented as a C++

Extended ML - Don Sannella, Edinburgh.  Algebraic specification meets
functional programming.  "Program Specification and Development in Standard
ML", D. Sannella et al, 12th POPL, ACM 1985.

Extended Pascal - A superset of ANSI and ISO Pascal.  Many enhancements,
including modules, separate compilation, type schemata, variable-length
strings, direct-access files, complex numbers, initial values, constant
expressions.  ANSI/IEEE770X3.160-1989 and ISO 10206.

EXTRA - Object-oriented, Pascal style, handles sets.  "A Data Model and
Query Language for EXODUS", M.J. Carey et al, SIGMOD 88 Conf Proc, pp.413-
423, ACM SIGMOD Record 17:3 (Sept 1988).

EZ - High-level string-processing language derived from SNOBOL4, SL5 and
Icon.  "The EZ Reference Manual", C.W. Fraser et al, CS TR 84-1, U Arizona,

FAC - Functional Array Calculator.  APL-like but purely functional and
lazy, allowing infinite arrays.  "FAC: A Functional APL Language", H.-C. Tu
and A.J. Perlis, IEEE Trans Soft Eng 3(1):36-45 (Jan 1986).

Facile - SUNY Stony Brook, late 80's.  Since 1991 at ECRC, Munich.  Extends
SML with a model of higher-order concurrent processes based on CCS.
Suitable for loosely connected systems with distributed memory.  "Facile: A
Symmetric Integration of Concurrent and Functional Programming", A.

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

FAD - "FAD, A Simple and Powerful Database Language", F. Bancilon et al,
Proc 13th Intl Conf on VLDB, Brighton England, Sept 1987.

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

FALSE - W. van Oortmerssen.  A small compiled extensible language with
lambda abstractions.  for Amiga

FAP - Assembly language for Sperry-Rand 1103 and 1103A.  Listed in CACM
2(5):16 (May 1959).

FAS - General purpose language sponsored by the Finnish government in the
70's and 80's.

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

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

FC - Functional language.  "FC Manual", L. Augustsson, Memo 13, Programming
Methodology Group, Chalmers U, Sweden 1982.

F-code - Code for the FPM abstract machine, an optimized SECD machine.
"FP/M Abstract Syntax Description", R. Bailey, Dept Computing, Imperial
College, U London, 1985.

FCP - Flat Concurrent Prolog.  "Design and Implementation of Flat
Concurrent Prolog", C. Mierowsky, TR CS84-21 Weizmann Inst, Dec 1984.

Feel - Free and Eventually EuLisp.  An initial implementation of EuLisp.

FEL - Function Equation Language.  Programs are sets of definitions.
Sequences are lists stored in consecutive memory.  "FEL Programmer's
Guide", R. M. Keller, AMPS TR 7, U Utah, March 1982.

FFP - Formal FP.  Similar to FP, but with regular sugarless syntax, for
machine execution.  "Can Programming be Liberated From the von Neumann
Style?  A Functional Style and Its Algebra of Programs", John Backus, 1977
Turing Award Lecture, CACM 21(8):165-180 (Aug 1978).  (See FP, FL).

FGHC - Flat GHC.  A variant of GHC in which guard calls can be only to
primitives.  (See KL1).


  1. Flow Graph Lisp.  A distributed dataflow language for AMPS
(Applicative Multi-Processing System).  "A Loosely-Coupled Applicative
Multi-Processing System", R. Keller et al, NCC, AFIPS June 1979, pp.613-

  2. Function Graph Language.  Related to FEL.

FGL+LV - "Functional Programming and the Logical Variable", G. Lindstrom,
POPL 1985, pp.266-280.

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

FIDIL - Based on "maps", generalized arrays whose index sets ("domains")
are arbitrary d-dimensional sets.  Domains are first-class objects and may
be constructed by union, intersection, etc.  "Fidil: A Language for
Scientific Programming", P.N. Hilfinger et al, TR UCRL-98057, LLNL Jan

FIDO - FInite DOmains.  A constraint language implemented on top of Prolog.*

Fifth - An enhanced version of FORTH.  M.S. Dissertation, Cliff Click

Construction Co, (409)696-5432.

File Composition - Typesetting language.  "File Composition System
Reference Manual", No. 90388, Information Intl.

F+L - Equational clauses within function definitions to solve for logical
variable bindings.  "Functions plus Logic in Theory and Practice", R.B.
Kieburtz, Feb 1987, unpublished.

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

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

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

with object-oriented features.  "Object-Oriented Programming with Flavors",
D.A. Moon, SIGPLAN Notices 21(11):1-8 (OOPSLA '86) (Nov 1986).

Fleng - Parallel logic language.  "Massively Parallel Implementation of
Flat GHC on the Connection Machine", M. Nilsson, Proc Intl Conf on 5th Gen
Comp Sys, 1988, pp.1031-1040.


  1. Faster LEX.  A reimplementation of Lex.  "The FLEX Scanner Generator",
    // with Ada output
        flex++-3.0.tar.gz with C++ output

  2. Real-time language for dynamic environments.  "FLEX: Towards Flexible
Real-Time Programs", K. Lin et al, Computer Langs 16(1):65-79 (Jan 1991).

  3. Alan Kay, ca 1967.  Early object-oriented language for the FLEX
machine.  A simplification of Simula, and a predecessor of Smalltalk.

Flex 2 - ca. 1980.  A preprocessor designed to make FORTRAN look more like
Pascal.  DECUS?

FLIC - Functional Language Intermediate Code.  Intermediate language used
in the Chalmers LML compiler.  "FLIC - A Functional Language Intermediate



  1. Early assembly language on G-15.  Listed in CACM 2(5):16 (May 1959).

  2. "FLIP User's Manual", G. Kahn, TR 5, INRIA 1981.

  3. Formal LIst Processor.  Early language for pattern-matching on LISP
structures.  Similar to CONVERT.  "FLIP, A Format List Processor", W.
Teitelman, Memo MAC-M-263, MIT 1966.

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

F-Logic - "F-Logic: A Higher-Order Language for Reasoning about Objects,
Inheritance and Scheme", ACM SIGMOD May 1989, pp.134-146.

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

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

FLPL - FORTRAN List Processing Language.  Rochester, Gelernter, and
Gerberich, ca 1960.  Package of FORTRAN subroutines for handling lists.
Weizenbaum's program Eliza was first implemented in FLPL.  Sammet 1969,

FLUB - Abstract machine for bootstrapping STAGE2.  Mentioned in Machine
Oriented Higher Level Languages, W. van der Poel, N-H 1974, p.271.

FMPL - Frobozz Magic Programming Language.  Experimental Computing
Facility, UC Berkeley.  A prototype-based object-oriented language with
functional features.  Event-driven.


  1. FOrmula CALculator.  Rick Merrill, DEC, 1969.  Interactive, for
PDP-5/PDP-8's, a descendant of AID/JOSS.  Versions: FOCAL-69, FOCAL-1971,
FOCAL-11 (for PDP-11 under RT-11).

  2. Forty-One CAlculator Language.  Programming language of the HP-41
calculator line.

FOCL - Expert system shell, a backward chaining rule interpreter for Mac.

FOCUS - Hierarchical database language.  Information Builders Inc.

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

foogol - Per Lindberg.  A tiny ALGOL-like language based on the VALGOL I
compiler, G.A. Edgar, DDJ May 1985.

FOOL - Fool's Lisp.  A small Scheme interpreter.

FOOP - OBJ2 plus object-orientation.  "Extensions and Foundations for
Object-Oriented Programming", J. Goguen et al, in Research Directions in
Object-Oriented Programming, B. Shriver et al eds, MIT Press 1987.

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

Force - dBASE dialect for MS-DOS.

The Force - Data parallel language, providing extensions to Fortran for
shared memory multiprocessors.  Parallel 'case' statements and critical
sections.  "The Force", H. Jordan in The Characteristics of Parallel
Algorithms, L. Jamieson et al eds, MIT Press 1987, pp.395-436.

ForceOne - Andrew K. Wright.  "Polymorphism in the Compiled Language
ForceOne", G.V. Cormack et al, Proc 20th Annual Hawaii Intl Conf on System
Sciences, 1987, pp.284-292.  "Design of the Programming Language ForceOne",
A.K. Wright, MS Thesis, U Waterloo 1987.

ForceTwo - Andrew K. Wright.  An unofficial successor to ForceOne.

handling of very large-scale symbolic math calculations.  A descendant of
Schoonschip.  Available for many PC's and workstations., //

FORMAC - FORmula MAnipulation Compiler.  J. Sammet & Tobey, IBM Boston APD,
1962.  Extension of FORTRAN for symbolic math.  "Introduction to FORMAC",
J.E. Sammet et al, IEEE Trans Elec Comp (Aug 1964).  Versions: PL/I-FORMAC
and FORMAC73.  Sammet 1969, pp.474-491.


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

  2. IBM LASC.  Data manipulation language for nonprogrammers.  "FORMAL: A
Forms-Oriented and Visual-Directed Application System", N.C. Shu, IEEE
Computer 18(8):38-49 (1985).

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

Formes - Object-oriented language for music composition and synthesis,
written in VLISP.  "Formes: Composition and Scheduling of Processes", X.
Rodet & P. Cointe, Computer Music J 8(3):32-50 (Fall 1984).

FORML - Formal Object Role Modeling Language.  CASE language?

Formula -

  1. FORTH Music Language.  An extension of FORTH with concurrent note-
playing processes.  "Formula: A Programming Language for Expressive
Computer Music", D.P. Anderson et al Computer 24(7):12 (Jul 1991).  For Mac
and Atari ST, with MIDI output.

  2. Preprocessor language for the Acorn Archimedes, allowing inline high-
level statements to be entered in an assembly program.  Written in nawk.

Formula ALGOL - ALGOL extension for symbolic math, strings and lists.
Carnegie, CDC G-20, 1962.  A.J. Perlis & R. Iturriaga.  Sammet 1969, p.583.
"An Extension of ALGOL for Manipulating Formulae", A.J. Perlis et al, CACM
7(2):127-130 (Feb 1964).

Fornax - "Fornax: A General Purpose Programming Language", J. Storrs Hall,
Rutgers U, USENIX Symp on Very High Level Langauges, Oct 1994.

Forsythe - An ALGOL-like language.  "Preliminary Design of the Programming
Language Forsythe", J.C. Reynolds, CMU-CS-88-159, 1988.

FORTH - Fourth.  Charles H. Moore, 1960's.  An interactive extensible
language using postfix syntax and a data stack.  A program is a set of
functions ("words") which are compiled by an outer interpreter into
bytecodes.  FORTH is small and efficient, but programs can be difficult to
read.  Used first to guide the telescope at NRAO, Kitt Peak.  Versions
include FORTH 79 and FORTH 83.  FORTH Interest Group, Box 1105, San Carlos
CA 94070.  ANSI standard soon to be adopted.

FORTRAN - FORmula TRANslator.  The first and still the most widely used
language for numerical calculations.  Nonrecursive, efficient.

FORTRAN I - John Backus, IBM for the IBM 704.  Design begun 1954, compiler
released April 1957.

FORTRAN II - 1958.  Added subroutines.

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

FORTRAN IV - IBM 1962.  For the IBM 7090/94.  Many implementations went
well beyond the original definition.

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

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

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

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

Fortran 90 - Previously Fortran 8x and Fortran Extended.  An extensive
enlargement of FORTRAN 77.  Derived types, assumed shape arrays, array
sections, functions returning arrays, case statement, module subprograms
and internal subprograms, optional and keyword subprogram arguments,
recursion, and dynamic allocation.  ISO 1539:1991, soon to be adopted by
ANSI.  "Fortran 90 Explained", M. Metcalf et al, Oxford University Press

Fortran D - Ken Kennedy, Rice U.  A data-parallel Fortran.  "Fortran D
Language Specification", G. Fox et al, TR 90079, Rice U, March 1991.

Fortran M - Parallel extensions to Fortran with processes and channels.
"Fortran M: A Language for Modular Parallel Programming", I. Foster et al,
MCS-P327-0992, ANL, 1992.

FORTRAN-Plus - FORTRAN for the DAP parallel machine, implements many
Fortran 90 features.

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

FORTRUNCIBLE - A cross between FORTRAN and RUNCIBLE for the IBM 650.
Listed in CACM 2(5):16 (May 1959).

FOSIL - Fredette's Operating System Interface Language.  A portable job
control language, for IBM OS360, UNIVAC EXEC 8 and Honeywell GCOS.
"Fredette's Operating System Interface Language (FOSIL)", G.N. Baird in
Command Languages, C. Unger ed, N-H 1973.

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

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

FP - Functional Programming.  Backus.  Combinator based.  "Can Programming
be Liberated From the von Neumann Style?  A Functional Style and Its
Algebra of Programs", John Backus, 1977 Turing Award Lecture, CACM
21(8):165-180 (Aug 1978).  (See FFP, FL, IFP).
Berkeley FP - distributed with 4.2BSD
ftp: comp.sources.unix/Volume20: fpc translates FP programs to C.
         comp.sources.unix/volume13: FP by Andy Valencia

FP2 - Functional Parallel Programming.  Term rewrite rules used to specify
algebraic data types and parallel processes.  "Term Rewriting as a Basis
for the Design of a Functional and Parallel Programming Language.  A Case
Study: The Language FP2", Ph. Jorrand in Fundamentals of Artificial
Intelligence, LNCS 258, Springer 1986, pp.221-276.

FP/M - An intermediate language for functional languages, used to implement
Hope.  "The Compilation of FP/M Programs into Conventional Machine Code",
A.J. Field, Imperial College, London, 1985.  "Functional Programming", A.J.
Field & M.C. Harrison, A-W 1988.

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

FrameKit - Frame language.  "The FrameKit User's Guide", E. Nyberg, TR CMU-
CMT-88-MEMO, CMU 1988.

FRANK - "Using BINS for Interprocess Communication", P.C.J. Graham, SIGPLAN
Notices 20(2):32-41 (Feb 1985).

Franz Lisp - (named for the Hungarian composer Franz Liszt (1811-1886)) R.
Fateman et al, UC Berkeley ca 1980.  A MacLisp-like dialect of LISP,
developed primarily for work in symbolic algebra.  Written in C.  "The
FRANZ LISP Manual", J.K. Foderaro et al. UC Berkeley 1980.  Version: Opus
38.22.  Liszt (the compiler) Version 8.08.

FRED - Robert Carr.  Language used by Framework, Ashton-Tate.

Fresco - Object-oriented specification language.  "Refinement in Fresco",
in Object Oriented Specification Case Studies, K. Lano et al eds, P-H 1993.

Fresh - "Fresh: A Higher-Order Language Based on Unification", G. Smolka,
in Logic Programming: Functions, Relations and Equations", D. DeGroot et
al, P-H 1986, pp.469-524.

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

FRL - Frame Representation Language.  MIT.  "The FRL Manual", R. Roberts et
al, AI Memo 409, MIT AI Lab, 1977.

FRMT-FTRN - Scientific language, listed [?] 1976.

FSL - Formal Semantics Language.  Language for compiler writing.  "A Formal
Semantics for Computer Languages and its Application in a Compiler-
Compiler", J.A. Feldman, CACM 9(1) (Jan 1966).  Sammet 1969, p.641.

FSMDL - Finite State Machine Description Language. [?]

Fugue - Music language, implemented in Xlisp.  "Fugue: A Functional
Language for Sound Synthesis", R.B. Dannenberg et al, Computer 24(7):36-41
(Jul 1991).

Fun - A typed lambda-calculus, similar to SOL[2].  "On Understanding Types,
Data Abstractions and Polymorphism", L. Cardelli et al, ACM Comp Surveys
17(4) (Dec 1985).

FUNLOG - Functional programming plus unification.  "Lazy" in the sense that
expressions are reduced only if they are not unifiable.  "FUNLOG: A
Computational Model Integrating Logic Programming and Functional
Programming", P.A. Subrahmanyam et al, in Logic Programming: Functions,
Relations and Equations, D. DeGroot et al eds, P-H 1986.

FX-87 - Effects.  A polymorphic language based on Scheme, allowing side
effects and first-class functions.  Attempts to integrate functional and
imperative programming.  Expressions have types, side effects (e.g.
reading, writing or allocating) and regions (stating where the effects may

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

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

G -

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

Gauss - Aptech Systems [?]

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

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

G-Code -

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

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

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

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

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

Gedanken - John Reynolds, 1970.  "GEDANKEN - A Simple Typeless Language
Based on the Principle of Completeness and the Reference Concept", J.C.
Reynolds, CACM 13(5):308-319 (May 1970).

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

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

226 Transfer complete.

Tue, 18 Feb 1997 20:14:33 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 5 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