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

RMAG - Recursive Macro Actuated Generator.  Robert A. Magnuson, NIH ca
1970.  Stand-alone macroprocessor for IBM 360/370 under VS or OS. Many
built-in features and a library of several hundred macros.  Several large
systems were written in RMAG to generate source code for languages such as
IBM JCL, IBM assembly language, COBOL.  There was also a system (SLANG:
Structured Language Compiler) which would generate 370 assembly language
from a pseudo-structured-programming language, based on Michael Kessler's
structure programming macros developed at IBM.  "Project RMAG--RMAG22
User's Guide", R.A. Magnuson, NIH-DCRT-DMB-SSS-UG103, NIH, DHEW, Bethesda,
MD 20205 (1977).

ROADS - Subsystem of ICES.  Sammet 1969, p.616.

ROBEX - ROBot EXapt.  Aachen Tech College.  Based on EXAPT.  Version:
ROBEX-M for micros.

Roff - Text formatting language/interpreter associated with Unix.  (See
groff, nroff, troff).

ROME - Experimental object-oriented language.  "The Point of View Notion
for Multiple Inheritance", B. Carre et al, SIGPLAN Notices 25(10):312-321
(OOPSLA/ECOOP '90) (Oct 1990).

Rossette - MCC.  Concurrent object-oriented language.

RPG - Report Program Generator.  IBM 1965.  For easy production of
sophisticated large system reports.  Versions: RPG II, RPG III, RPG/400 for
the IBM AS/400.  MS-DOS versions by California Software and Lattice.  (See

RPL-1 - Data reduction language.  Proc SJCC 30:571-575, AFIPS (Spring

RPL - Reverse Polish LISP.  Language used by HP-28 and HP-48 calculators.

RTC++ - Real-time extension of C++.  "Object-Oriented Real-Time Language
Design: Constructs for Timing Constraints", Y. Ishikawa et al, SIGPLAN
Notices 25(10):289-298 (OOPSLA/ECOOP '90) (Oct 1990).

RT-CDL - Real-Time Common Design Language.  Real-time language for the
design of reliable reactive systems.  "RT-CDL: A Real-Time Description
Language and Its Semantics", L.Y. Lin et al, 11th World Computer Congress
IFIP '89 pp.19-26 (Sep 1989).

Davidson, U Arizona early 80's.  Intermediate code for a machine with an
infinite number of registers, used for machine-independent optimization.
The GNU C compiler gcc uses a version of RTL with LISP-like syntax.  RTL is
also incorporated into Davidson's VPCC (Very Portable C compiler) at U

RTL/1 - Real Time Language.  Barnes, ICI 1971.  A real-time language, the
predecessor of RTL/2.  "Real Time Languages for Process Control, J.G.P.
Barnes, Computer J 15(1):15-17 (Feb 1972).

RTL/2 - Barnes, ICI 1972.  Small real-time language based on ALGOL 68, with
separate compilation.  A program is composed of separately compilable
'bricks' (named modules) which may be datablock, procedure, or stack.  A
stack is a storage area for use as a workspace by a task.  The language is
block-structured and weakly typed.  Simple types are byte, int, frac and
real, no Boolean.  Compound types may be formed from arrays, records and
refs (pointers).  There are no user-defined types.  Control consists of if-
then-elseif-else-end, for-to-by-do-rep, block-endblock, switch, goto, and
label variables.  "RTL/2: Design and Philosophy", J.G.P. Barnes, Hayden &
Son, 1976.

Ruby -

  1. Hardware description language.  "Ruby - A Language of Relations and
Higher-Order Functions", M. Sheeran, Proc 3rd Banff Workshop on Hardware
Verification, Springer 1990.

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

RUFL - Rhodes University Functional Language.  Rhodes U, Grahamstown, South
Africa.  Miranda-like.

RUNCIBLE - Early system for math on IBM 650.  Listed in CACM 2(5):16 (May

RUSH - Remote Use of Shared Hardware.  ca 1966.  Interactive dialect of
PL/I, related to CPS[1].  "Introduction to RUSH", Allen-Babcock Computing
1969.  Sammet 1969, p.309.

Russell - (named for the British mathematician Bertrand Russell (1872-
1970))  A. Demers & J. Donahue.  A compact, polymorphically typed
functional language, with bignums and continuations.  Types are themselves
first-class values and may be passsed as arguments.  "An Informal
Description of Russell", H. Boehm et al, Cornell CS TR 80-430, 1980.

on LispKit.  Uses timestamps and real-time clocks.  "RUTH: A Functional
Language for Real-Time Programming", D. Harrison in PARLE: Parallel
Architectures and Languages Europe, LNCS 259, Springer 1987,

S - AT&T.  Statistical analysis.  "S: An Interactive Environment for Data
Analysis and Graphics", Richard A. Becker, Wadsworth 1984.

S3 - ALGOL-like system language for the ICL 2900 computer.

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

SAC-1 - G.E. Collins.  Early symbolic math system, written in fortran.
Proc 2nd Symp Symb Alg Manip pp.144-152 (1971).

SAC2 - Symbolic math system, compiles to FORTRAN or Common LISP.

SAD SAM - Query language by Lindsay.  Sammet 1969, p.669.

SAFARI - ON-line text editing system by MITRE.  Sammet 1969, p.685.


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

  2. Stanford Artificial Intelligence Language.  Dan Swinehart & Bob
Sproull,  Stanford AI Project, 1970.  A large ALGOL-60-like language for
the DEC-10 and DEC-20.  Its main feature is a symbolic data system based
upon an associative store (originally called LEAP).  Items may be stored as
unordered sets or as associations (triples).  Processes, events and
interrupts, contexts, backtracking and record garbage collection.  Block-
structured macros.  "Recent Developments in SAIL - An ALGOL-based Language
for Artificial Intelligence", J. Feldman et al, Proc FJCC 41(2), AFIPS
(Fall 1972).  (See MAINSAIL).

SAINT - Symbolic Automatic INTegrator.  J. Slagle, MIT 1961.  Written in
LISP.  Sammet 1969, p.410.


  1. Single Assignment Language.

  2. Simple Actor Language.  A minimal actor language, used for pedagogical
purposes in "Actors, A Model of Concurrent Computation in Distributed
Systems", G. Agha, MIT Press 1986.

SALEM - "SALEM - A Programming System for the Simulation of Systems
Described by Partial Differential Equations", S.M. Morris et al, Proc SJCC
33(1), 1968.

S-Algol - Orthogonal data structures on Algol-60.  "S-Algol Language
Reference Manual", R. Morrison, TR CS/79/1 U St Andrews, 1979.  "An
Introduction to Programming with S-Algol", A.J. Cole & R. Morrison,
Cambridge U Press 1982.


  1. Symbolic Assembly Language Trainer.  Assembly-like language
implemented in BASIC by Kevin Stock, now at Encore in France.

  2. Sam And Lincoln Threaded language.  A threaded extensible variant of
BASIC.  "SALT", S.D. Fenster et al, BYTE (Jun 1985) p.147.

Sandman - DoD requirements that led to APSE.

SAP - Symbolic Assember Program.  IBM 704 assembly language, late 50's.

SAS - Statistical Analysis System.  Statistical and matrix language,
PL/I-like syntax.  "A User's Guide to SAS", A.J. Barr, SAS Inst 1976.

SASL - Saint Andrews Static Language.  Turner 1976.  A derivative of ISWIM
with infinite data structures.  Fully lazy and weakly typed.  Designed for
teaching functional programming, with very simple syntax.  A version of the
expert system EMYCIN has been written in SASL.  "A New Implementation
Technique for Applicative Languages", D.A. Turner, Soft Prac & Exp 8:31-49

SASL+LV - Unifies logic and functional programming.  A more complete
version of FGL+LV, in SASL syntax.  "Combinator Evaluations of Functional
Programs with Logical Variables", G. Bage et al, TR UUCS-87-027, U Utah,
Oct 1987.

Sather - (named for the Sather Tower at UCB, as opposed to the Eiffel
Tower)  Steve M. Omohundro, ICSI, Berkeley.  Eiffel-like, but smaller and
faster.  Clean and simple syntax, parameterized classes, multiple
inheritance, strong typing, garbage collection.  Compiles to C code.

SB-Prolog - Stony Brook Prolog.  PD Prolog implementation for Unix.
ftp: pub/sbprolog/v3.0 amiga/fish/ff140 and ff141  Version 2.3.2 for Amiga


  1. "A Parallel Implementation of the SCAN Language", N.G. Bourbakis, Comp
Langs 14(4):239-254 (1989).

  2. DEC. A real-time language.  [same as 1?]

SCEPTRE - Designing and analyzing circuits.  "SCEPTRE: A Computer Program
for Circuit and Systems Analysis", J.C. Bowers et al, P-H 1971.

Scheme - G.L. Steele & G.J. Sussman, 1975.  A LISP dialect, small and
uniform, with clean semantics.  Scheme is applicative-order and lexically
scoped, and treats both functions and continuations as first-class objects.
"The Revised^4 Report on the Algorithmic Language Scheme", W. Clinger et
al, MIT (Nov 1991) (ftp from
Implementations: Scheme84 (Indiana U), MacScheme (Semantic Microsystems),
PC Scheme (TI).  (See T).
"Orbit: An Optimizing Compiler for Scheme", D.A. Kranz et al, SIGPLAN
Notices 21(7):281-292 (Jul 1986).
ftp: (SCM, Aubrey Jaffer      

         NOS/VE, VMS, Unix.  Conforms to Revised^4 Report and IEEE P1178 (MIT-Scheme, Liar compiler) (for Suns) (compiler for 68K's) (Scheme In One Defun, George  


Scheme-Linda - Ulf Dahlen, U Edinburgh, 1990.  On the Computing Surface and
the Symmetry.  "Scheme-Linda", U. Dahlen et al, EPCC-TN-90-01 Edinburgh

Schoonschip - (Dutch for "beautiful ship")  M. Veltman, CERN, 1964.
Symbolic math, especially High Energy Physics.  Algebra only, no
derivatives.  Originally implemented in CDC-6600 and 7600 assembly
language, currently in 680x0 assembly language.  Latest versions (Oct 1991)
include Amiga, Atari ST, Sun 3/60, NeXT.


SCL - Systems Control Language.  ICL2900 VME/B O/S command shell.  Block
structured, strings, superstrings (lists of strings), int, bool, array
types.  Can trigger a block whenever a condition on a variable value
occurs.  Macros supported.  Commands are treated like procedure calls.
Default arguments.  "VME/B SCL Syntax", Intl Computers Ltd 1980.

Scode - Internal representation used by the Liar compiler for MIT Scheme.

SCOOP - Structured Concurrent Object-Oriented Prolog.  "SCOOP, Structured
Concurrent Object-Oriented Prolog", J. Vaucher et al, in ECOOP '88, S.
Gjessing et al eds, LNCS 322, Springer 1988, pp.191-211.

SCOOPS - Scheme Object-Oriented Programming System.  TI, 1986.  Multiple
inheritance, class variables.

Scratchpad I - Richard Jenks, Barry Trager, Stephen M. Watt & Robert S.
Sutor, IBM Research, ca 1971.  General-purpose language originally for
interactive symbolic math.  It features abstract parametrized datatypes,
multiple inheritance and polymorphism.  Implementations for VM/CMS and AIX.
"Scratchpad User's Manual", RA 70, IBM (June 1975).  Version: Scratchpad
II.  "Scratchpad II Programming Language Manual", R.D. Jenks et al, IBM,
1985.  (See AXIOM.)
Scratchpad II Newsletter: Computer Algebra Group, TJWRC, Box 218, Yorktown
Hts, NY 10598.

Screenwrite - Simple query language.  Honeywell late 70's, Level 6 minis.

Scribe - Brian Reid.  A text-formatting language.


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

  2. Real-time language.  "A Communication Abstraction Mechanism and its
Verification", N. Francez et al, Sci Comp Prog 6(1):35-88 (1986).

SCROLL - String and Character Recording Oriented Logogrammatic Language.
"SCROLL - A Pattern Recording Language", M. Sargent, Proc SJCC 36 (1970).


  1. System Software Development Language.  System software for the B1700.
"System Software Development Language Reference Manual", 1081346, Burroughs
Corp (Dec 1974).

  2. Specification and Description Language.  CCITT.  Specification
language for discrete interactive systems such as industrial process
control or traffic control.  Said to have a visual component?  Proc Plenary
Assembly, Melbourne 14-25 Nov 1988, Fasc X.1, CCITT.   "Telecommunications
Systems Engineering Using SDL", R. Saracco et al, N-H 1989.  (See XDL).

  3. Shared Dataspace Language.  "A Shared Dataspace Language Supporting
Large-Scale Concurrency", G. Roman et al, Proc 8th Intl Conf Distrib Comp
Sys, IEEE 1988, pp.265-272.

  4. Structure Definition Language.  A tool used internally by DEC to
define and generate the symbols used for VMS internal data structures in
various languages.

SDMS - Query language.

Sed - Stream editor.  The Unix stream editor.

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

Sel -

  1. Self-Extensible Language.  "SEL - A Self-Extensible Programming
Language", G. Molnar, Computer J 14(3):238-242 (Aug 1971).

  2. Bharat Jayaraman.  "Towards a Broader Basis for Logic Programming", B.
Jayaraman, TR CS Dept, SUNY Buffalo, 1990.  "Set Abstraction in Functional

Proc [?] 1989.

Self - Small, dynamically-typed object-oriented language.  Based on
prototypes and delegation rather than inheritance.  "Self: The Power of

22(12):227-242 (OOPSLA '87) (Dec 1987).

Seneca - R. Griesemer, 1990.  Descendant of Oberon designed for numerical
applications on supecomputers, especially vector or pipelined
architectures.  Includes a standard COMPLEX type and special aray
expressions.  Still under development.  "Seneca - A Language for Numerical
Applications on Vectorcomputers", Proc CONPAR 90 - VAPP IV Conf.

SEPIA - Standard ECRC Prolog Integrating Applications.  Prolog with many
extensions including attributed variables ("metaterms") and declarative

March 1988.  Version 3.1 available for Suns and VAX.  (See ECRC-Prolog).

Seque - "Seque: A Programming Language for Manipulating Sequences", R.E.
Griswold et al, Comp Langs 13(1):13-22 (1988).

Sequel - Precursor to SQL.  "System R: Relational Approach to Database
Management", IBM Res Lab, San Jose, reprinted in Readings in Database

SETL - SET Language.  Courant Inst, early 70's.  A very high level
set-oriented language.  Data types include sets (unordered collections),
tuples (ordered collections) and maps (collections of ordered pairs).
Expressions may include quantifiers ('for each' and 'exists').  The first
Ada translator was written in SETL.  "Programming With Sets - An
Introduction to SETL", Jacob T. Schwartz et al, Springer 1986.

SETL2 - SETL with more conventional Ada-like syntax, lexical scoping, full
block structure, first-class functions and a package and library system.

W. Kirk Snyder, Courant Inst TR 490, Jan 1990.
ftp:, for MS-DOS, OS/2, Mac, Unix workstations

SETL/E - U Essen.  Another derivative of SETL with Ada-like syntax.
"SETL/E, A Prototyping System Based on Sets", E.E. Doberkat et al, in
Tagungsband TOOL90, W. Zorn ed, pp.109-118, U Karlsruhe, Nov 1990.

SETS - Set Equation Transformation System.  Symbolic manipulation of
Boolean equations.  "Efficient Ordering of Set Expressions for Symbolic
Expansion", R.G. Worrell et al, J ACM 20(3):482-488 (Jul 1973).

SEXI - String EXpression Interpreter.  Early name of SNOBOL.

SFD-ALGOL - System Function Description-ALGOL.  Extension of ALGOL for
synchronous systems.  Sammet 1969, p.625.

SFL - "SFL Language Definition Manual", TR 6413, Intl Computers Ltd.

SFLV - Unifies logic and functional programming.  SASL+LV with unification
moved from actual/formal parameter matching to equational clauses.  "Static
Analysis of Functional Programs with Logical Variables", G. Lindstrom in
Programming Languages Implementation and Logic Programming, P. Deransart et
al eds, LNCS 348, Springer 1988.

SGML - Standard Generalized Markup Language.  "SGML - The User's Guide to
ISO 8879", J.M. Smith et al, Ellis Harwood, 1988.  ISO/IEC 8879-1986.
ftp:  an SGML parser  another SGML parser

sh - (or "Shellish").  S.R. Bourne.  Command shell interpreter and script
language for Unix.  "Unix Time-Sharing System: The Unix Shell", S.R.
Bourne, Bell Sys Tech J 57(6):1971-1990 (Jul 1978).

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

SHADOW - Barnett & Futrelle, 1962.  Syntax-directed compiler.  Predecessor
to SNOBOL?  Sammet 1969, p.448, 605.

Sharp APL - "A Dictionary of the APL Language", K. Iverson, Pub 0402, Sharp
Assocs, Toronto, 1985.

SHEEP - Symbolic math, especially tensor analysis and General Relativity.
Inge Frick, Stockholm, late 70's to early 80's.  Implemented in DEC-10
assembly language, then in several LISPs.  Current version for Sun-3, based
on Portable Standard LISP.

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

Short Code or SHORTCODE - John Mauchly, 1949.  Pseudocode interpreter for
math problems, on Eckert and Mauchly's BINAC, later on UNIVAC I and II.
Possibly the first attempt at a higher level language.  Sammet 1969, p.129.

Show-And-Tell - Visual dataflow language designed for use by elementary
school children.  "A Visual Language for Keyboardless Programming", T.
Kimura et al, TR WUCS-86-6, CS Dept Washington U, Mar 1986.  "Show and
Tell: A Visual Language", T.D. Kimura et al in Visual Programming
Environments: Paradigms and Systems, E.P. Glinert ed, IEEE Comp Sci Press,
1990, pp.397-404.

SICStus Prolog - SICS (Swedish Inst of Comp Sci), Sweden.

SIFT - SHARE Internal FORTRAN Translator.  Translation utility designed for
converting FORTRAN II to FORTRAN IV.  The word "sift" was often used as a
verb to describe converting code from one language to another.  Sammet
1969, p.153.

Sig - Signal Processing, Analysis, and Display program.  This is an
environment with an associated programming language. Jan Carter, Argonne
Natl Lab, (312)972-7250.

SIGLA - SIGma LAnguage.  Olivetti.  Language for industrial robots.
"SIGLA: The Olivetti Sigma Robot Programming Language", M. Salmon, Proc 8th
Intl Symp on Industrial Robots, 1978, pp.358-363.

SIGNAL - Synchronous language.  Le Guernic et al, INRIA.  "SIGNAL - A Data
Flow-Oriented Language for Signal Processing," P. le Guernic, IEEE Trans
Acoustics Speech & Signal Proc, ASSP-34(2):362-374 Apr 1986.

SIL - "SIL - A Simulation Language", N. Houbak, LNCS 426, Springer 1990.

Sil/2 - Language for implementation of portable interpreters.  "The Design
of Transportable Interpreters", F. Druseikis, SNOBOL4 Project Document
S4D49, U Arizona (Feb 1975).

Silage - Synchronous DSP specification language.  "Silage Reference Manual,
Draft 1.0", D.R. Genin & P.N. Hilfinger,  Silvar-Lisco, Leuven 1989.

Simone - A. Hoare et al.  Simulation language based on Pascal.
"Quasiparallel Programming", W.H. Kaubisch et al, Soft Prac & Exp 6:341-356

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

SIMPL-T - Base language for a family of languages and compilers.
"SIMPL-T, A Structured Programming Language", V.R. Basili, Paladin House

SIMSCRIPT - Rand Corp 1963.  Large discrete simulations, influenced Simula.
"SIMSCRIPT: A Simulation Programming Language", P.J. Kiviat et al, CACI

SIMULA - SIMUlation LAnguage.  Kristen Nygaard & Ole-Johan Dahl, designed
1962, implemented 1964.  Extension to ALGOL for discrete simulation.
Sammet 1969, p.659.

SIMULA 67 - Introduced the class concept, leading the way to data
abstraction and object-oriented programming.  Also coroutines.
ftp:, Mac version

Simulating Digital Systems - FORTRAN-like language for describing computer
logic design.  Sammet 1969, p.622.

SINA - "An Implementation of the Object-Oriented Concurrent Programming
Language SINA", A. Tripathi et al, Soft Prac & Exp 19(3):235-256 (1989).

SIPLAN - SIte PLANning computer language.  Interactive language for space
planning.  "Formal Languages for Site Planning", C.I. Yessios in "Spatial
Synthesis for Computer-Aided Design", C. Eastman ed, Applied Science Publ

Siprol - Signal Processing Language.  A DSP language.  "SIPROL: A High
Level Language for Digital Signal Processing", H. Gethoffer, Proc
ICASSP-80, 1980, pp.1056-1059.

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

SISAL - Streams and Iteration in a Single Assignment Language.  James
McGraw et al, U Manchester, Lawrence Livermore, DEC and CSU 1983.  Single
assignment language with strict semantics, automatic parallelization,
efficient execution.  Outputs a dataflow graph in IF1 (Intermediary Form
1).  Derived from VAL, adds recursion and finite streams.  Pascal-like
syntax.  Designed to be a common high-level language for numerical programs
on a variety of multiprocessors.  "A Report on the SISAL Language Project",
J.T. Feo et al, J Parallel and Distrib Computing 10(4):349-366 (Dec 1990).
Implementations exist for Cray X-MP, Y-MP, Cray-2, Sequent, Encore Alliant,
dataflow architectures, transputers and systolic arrays.


Sketchpad - I. Sutherland, 1963.  Computer-aided design.  Constraints using
value inference.  Introduced the "ring" list structure.  "Sketchpad: A Man-
Machine Graphical Communication System", I.E. Sutherland, MIT Lincoln Lab,
TR 296 (Jan 1963).  Sammet 1969, p.678.

implementation with packages and other enhancements.

SKOL - FORTRAN pre-processor for COS (Cray Operating System).

SL5 - String and list processing language with expression-oriented syntax.
Coroutines.  "An Overview of SL5", Ralph E. Griswold, SIGPLAN Notices
12(4):40-50 (Apr 1977).


  1. R.A. Sibley.  CACM 4(1):75-84 (Jan 1961).

  2. Set LANGuage.  Jastrzebowski, ca 1990.  A C extension with set-
theoretic data types and garbage collection.  "The SLANG Programming
Language Reference Manual, Version 3.3", W. Jastrzebowski

  3. Structured LANGuage.  Michael Kessler, IBM.  A language based on
structured programming macros for IBM 370 assembly language.  "Project
RMAG: SLANG (Structured Language) Compiler", R.A. Magnuson, NIH-
DCRT-DMB-SSS-UG105, NIH, DHEW, Bethesda, MD 20205 (1980).

  4. "SLANG: A Problem Solving Language for Continuous-Model Simulation and
Optimization", J.M. Thames, Proc 24th ACM Natl Conf 1969.

SLIP - Symmetric LIst Processsor.  J. Weizenbaum, early-60's.  List
processing subroutine package for FORTRAN, later also embedded in MAD and
ALGOL.  "Symmetric List Processor", J. Weizenbaum CACM 6:524-544(1963).
Sammet 1969, p.387.

SLIPS - "An Interpreter for SLIPS - An Applicative Language Based on
Lambda-Calculus", V. Gehot et al, Comp Langs 11(1):1-14 (1986).

SLLIC - Intermediate language developed at HP.  An infinite-register
version of the Precision Architecture instruction set?

Sloop - "Parallel Programming in a Virtual Object Space", S. Lucco, SIGPLAN
Notices 22(12):26-34 (OOPSLA '87) (Dec 1987).

SMALGOL - SMall ALGOL.  Subset of ALGOL 60.  "SMALGOL-61", G.A. Bachelor et
al CACM 4(11):499-502 (Nov 1961).  Sammet 1969.

SMALL - Functional, lazy, untyped.  "SMALL - A Small Interactive Functional
System", L. Augustsson, TR 28, U Goteborg and Chalmers U, 1986,

Small-C - A subset of C.  Compiler source in C producing 8080 code in Dr
Dobb's J, May 1980 and Dec 1982.  "The Small-C Handbook," James Hendrix,
Reston 1984.

Smalltalk - Software Concepts Group, Xerox PARC, led by Alan Kay, early
70's.  Took the concepts of class and message from Simula-67 and made them
all-pervasive, the quintessential object-oriented language.  Innovations
included the bitmap display, windowing system and use of mouse.  Early
versions: Smalltalk-72, Smalltalk-74, Smalltalk-76 (inheritance taken from
Simula, and concurrency), and Smalltalk-78.  "The Smalltalk-76 Programming
System Design and Implementation", D.H. Ingalls, 5th POPL, ACM 1978, pp.9-

Smalltalk-80 - "Smalltalk-80: The Language and Its Implementation" ("The
Blue Book"), Adele Goldberg et al, A-W 1983.  BYTE 6(8) (Aug 1981).
ftp:  GNU Smalltalk v1.1

Smalltalk/V - First widely available version of Smalltalk, for PC, Mac.
Digitalk, 1986.

SmallWorld - Object-oriented language.  "SW 2 - An Object-based Programming
Environment", M.R. Laff et al, IBM TJWRC, 1985.


SMIL - Machine language for a Swedish computer.


unify the dialects of ML, has evolved into a robust general-purpose
language.  Functional, with imperative features.  Environment based,
strict.  Adds to ML the call-by-pattern of Hope, recursive data types,
reference types, typed exceptions, and modules.  (The "core" language
excludes the modules.)  "A Proposal for Standard ML", R. Milner, ACM Symp
on LISP and Functional Prog 1984, pp.184-197.
  SML/NJ - Standard ML of New Jersey, Version 0.75 ftp:
  POPLOG ML - U Sussex.  For the Poplog system.
  Poly/ML - Implemented in Poly[1], for MC68020 and SPARC.  Abstract

  Edinburgh SML - Core language only.  Byte-code interpreter in C.

ftp:   EdML V 0.44
  ANU ML - Aust Natl U.  For MC68020, VAX and Pyramid.
  Micro ML - U Umea, Sweden.  Interpreter of an ML subset, for MS-DOS.

ftp:, a lazy version
  sml2c - portable, written in SML.  Language extensions include first-
class continuations, asynchronous signal handling.


  2. Small Machine Language.  Barnes, ICI 1969.  Real-time language, an
ALGOL variant, and the predecessor of RTL.  "SML User's Guide", J.G.P.
Barnes, ICI, TR JGPB/69/35 (1969).

SML/NJ - Standard ML of New Jersey.  An implementation of SML by Andrew

Third Intl Symp on Prog Lang Impl and Logic Programming", LNCS Springer
1991.  Versions for Unix, Mac

SMoLCS - Specification metalanguage used for a formal definition of Ada.
"An Introduction to the SMoLCS Methodology", E. Astesiano, U Genova 1986.

SMP - Steven Wolfram's earlier symbol manipulation program, before he
turned to Mathematica.  "SMP Handbook", C. Cole, S. Wolfram et al, Caltech


  1. Early interpreted text-processing language for beginners, close to
basic English.  "Computer Programming in English", M.P. Barnett, Harcourt
Brace 1969.

  2. "Some Proposals for SNAP, A Language with Formal Macro Facilities",
R.B. Napper, Computer J 10(3):231-243 (1967). [same as 1?]

SNOBOL - StriNg Oriented symBOlic Language.  David Farber, Ralph Griswold &
I. Polonsky, Bell Labs 1962-3.  String processing language for text and
formula manipulation.  "SNOBOL, A String Manipulating Language", R.
Griswold et al, J ACM 11(1):21 (Jan 1964).

SNOBOL3 - 1965.  SNOBOL with user-defined functions.  "The SNOBOL3
Programming Language", D.J. Farber et al, Bell Sys Tech J 45(6):895-944
(Jul 1966).

SNOBOL4 - Griswold et al, 1967.  Quite distinct from its predecessors.
Declarative with dynamic scope.  Patterns are first-class data objects that
can be constructed by concatenation and alternation.  Success and failure
used for flow control.  Delayed (unevaluated) expressions can be used to
implement recursion.  Table data type.  Strings generated at run-time can
be treated as programs and executed.  "The SNOBOL4 Programming Language",
Ralph E. Griswold et al, P-H 1971.

FASBOL - "FASBOL. A SNOBOL4 Compiler", P.J. Santos, Memo ERL-M134, UC
Berkeley 1971.

SITBOL - "SITBOL Version 3.0", J.F. Gimpel, TRS4D30b, Bell Labs 1973.

SNOOPS - Craske, 1988.  An extension of SCOOPS with meta-objects that can
redirect messages to other objects.  "SNOOPS: An Object-Oriented language
Enhancement Supporting Dynamic Program Reeconfiguration", N. Craske,
SIGPLAN Notices 26(10): 53-62 (Oct 1991).

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

SOAP - Symbolic Optimal Assembly Program.  IBM 650 assembly language.
"Optimal" refers to rearranging instructions on slowly rotating drum
memory.  Listed in CACM 2(5):16 (May 1959). Versions: SOAP I, SOAP II, CASE

SOAR - Smalltalk on a RISC.  A. Newell.  A general problem-solving
production system architecture, intended as a model of human intelligence.
"Soar: An Architecture for General Intelligence", J.E. Laird et al, Art
Intell 33(1) (1987).

SOCRATIC - [Not a language?]  Bolt, Beranek & Newman.  Early interactive
learning system.  Sammet 1969, p.702.

SODAS - D.L. Parnas & J.A. Darringer.  Proc FJCC 31:449-474, AFIPS (Fall

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


  1. Simulation Oriented Language.  Discrete simulation.  Sammet 1969,

  2. Second-Order Lambda calculus.  A typed lambda calculus.  "Abstract
Types have Existential Type", J. Mitchell et al, 12th POPL, ACM 1985,

Solve - Parallel object-oriented language.  "Message Pattern
Specifications: A New Technique for Handling Errors in Parallel Object-
Oriented Systems", J.A. Purchase et al, SIGPLAN Notices 25(10):116-125
(OOPSLA/ECOOP '90) (Oct 1990).

SP - Simplicity and Power.  Prolog-like.  "Simplicity and Power -
Simplifying Ideas in Computing", J.G. Wolff, Computer J 33(6):518-534 (Dec

SPADE - Specification Processing And Dependency Extraction.  Specification
language.  G.S. Boddy, ICL Mainframes Div, FLAG/UD/3DR.003

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

SPARKS - FORTRAN superset, used in "Fundamentals of Data Structures", E.
Horowitz & S. Sahni, Computer Science Press 1976.

Speakeasy - Simple array-oriented language with numerical integration and
differentiation, graphical output, aimed at statistical analysis.
"Speakeasy", S. Cohen, SIGPLAN Notices 9(4), (Apr 1974).  "Speakeasy-3
Reference Manual", S. Cohen et al. 1976.

Spec - Specification language.  Expresses black-box interface
specifications for large distributed systems with real-time constraints.
It incorporates conceptual models, inheritance and the event model.  A
descendant of MSG.84.  "An Introduction to the Specification Language
Spec", V. Berzins et al, IEEE Software 7(2):74-84 (Mar 1990).

SPECIAL - SRI specification language.  [HDM?]  "SPECIAL - A Specification
and Assertion Language", L. Robinson et al, TR CSL-46, SRI, Jan 1987.

SPECOL - "SPECOL - A Computer Enquiry Language for the Non-Programmer",
B.T. Smith, Computer J 11:121 (1968).

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

Speedcoding - John Backus, 1953.  A pseudocode interpreter for math on IBM
701, IBM 650.  Sammet 1969, p.130.

Speedcoding 3 - Listed in CACM 2(5):16 (May 1959).

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

SP/k - Subset PL/I, k=1..8.  A series of PL/I subsets, simplified for
student use.  "SP/k: A System for Teaching Computer Programming", R.C. Holt
et al, CACM 20(5):301-309 (May 1977).

SPG - System Program Generator.  A compiler-writing language.  "A System
Program Generator", D. Morris et al, Computer J 13(3) (1970).

SPIT - Language for IBM 650.  (See IT).

SPITBOL - SPeedy ImplemenTation of snoBOL.  "Macro SPITBOL - A SNOBOL4
Compiler", R.B.K. Dewar et al, Soft Prac & Exp 7:95-113, 1971.  Current
versions: SPITBOL-68000, Sparc SPITBOL from Catspaw Inc, (719)539-3884.


  1. Synchronous Programming Language.  A DSP language.  "Introduction to
the SPL Compiler", Computalker Consultants, 1986.

  2. Space Programming Language.  For spaceflight and aerospace software.
Similar to JOVIAL.  Aka SPL/J6.  A subset is known as CLASP.  "Space
Programming Language Development", SAMSO TP 70-325, System Development Corp
(Sep 1970).

  3. System Programming Language.  HP, 1977.  An ALGOL-like language for
the HP3000 computer allowing inline assembly code.  MPE, the OS for the
HP3000 was written in SPL.  Pub.No.30000-90024, HP.

  4. Systems Programming Language.  PRIME Computer, 80's.  A variant of
PL/I used on PRIME computers.  PL/I subset G, less I/O plus a few
extensions.  SPL User's Reference Guide, Prime.  (See PL/P.)

SPLash! -

  1. Software Research Northwest, 1987.  Compiler for SPL[3].

  2. Systems Programming LAnguage for Software Hackers.  Mentioned in "TeX
for the Impatient", Paul W. Abrahams, A-W 1990.

SPL/I - Signal Processing Language I.  Intermetrics.  General language
designed for acoustic signal processing.  Graphics and multiprocessing
features.  "SPL/I Language Reference Manual", M.S. Kosinski, Intermetrics
Report 172-1 (July 1976).

SPLINTER - PL/I interpreter with debugging features.  Sammet 1969, p.600.

SPLX - Specification Language for Parallel cross-product of processes and
sequential modules.  "Parallel Module Specification on SPLX", C.F. Nourani,
SIGPLAN Notices 27(1):114-115 (Jan 1992).

Spool - Object-oriented logic.  "An Experience with a Prolog Based
Language", K. Fukunaga et al, SIGPLAN Notices 21(11):224-231 (Nov 1986)
(OOPSLA '86).

SPRING - String PRocessING language.  "From SPRING to SUMMER: Design,
Definition and Implementation of Programming Languages for String
Manipulation and Pattern Matching", Paul Klint, Math Centre, Amsterdam

SPRINT - List processing language involving stack operations.  "SPRINT - A
Direct Approach to List Processing Languages", C.A. Kapps, Proc SJCC 30
(1967).  Sammet 1969, p 462.

SPS - Symbolic Programming System.  Assembly language for IBM 1620.

SPSS - Statistical Programs for the Social Sciences.  "SPSS X User's
Guide", SPSS Inc. 1986.

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

SQL - Structured Query Language.  IBM, 1970's, for use in SystemR.  The de
facto standard relational database interface language, often embedded in
other programming languages.  "A Guide to the SQL Standard," C.J. Date, A-W

Square - Query language, precursor to SQL.  "Specifying Queries as
Relational Expressions: The SQUARE Data Sublanguage", R.E. Boyce et al,
CACM 18(11):621-628 (Nov 1975).

Squeak - "Squeak: A Language for Communicating with Mice", L. Cardelli et
al, Comp Graphics 19(3):199-204 (July 1985) (See Newsqueak).

SR - Synchronizing Resources.  A programming language for distributed
systems.  A 'resource' is the encapsulation of a process and its variables
in two parts: specification and body.  Processes interact via the
rendezvous, in which one calls an 'operation' in the other.  The call can
be either blocking or nonblocking.  The operation names can be changed
dynamically.  "An Overview of the SR Language and Implementation", G.
Andrews, ACM TOPLAS 10:51-86 (Jan 1988).

SRC Modula-3 - From DEC/SRC, Palo Alto, CA.  "Modula-3 Report (revised)"
Luca Cardelli et al.

SRDL - Small algebraic specification language, allows distfix operators.
"A Constructive Method for Abstract Algebraic Software Specification", H.
Klaeren, Theor Computer Sci 30, pp.134-204, 1984.

Srl -

  1. Bharat Jayaraman.  "Towards a Broader Basis for Logic Programming", B.
Jayaraman, TR CS Dept, SUNY Buffalo, 1990.

  2. Schema Representation language.  "SRL/2 Users Manual", J.M. Wright et
al, Robotics Inst, CMU, 1984.

  3. Structured Robot Language.  C. Blume & W. Jacob, U Karlsruhe.

SSL - Synthesizer Specification Language.  The definition language for the
Cornell Program Synthesizer Generator.  "Generating Language Based
Environments", T. Reps, MIT Press 1984.

STAB-11 - "The Translation and Interpretation of STAB-11", A.J.T. Colin et
al, Soft Prac & Exp 5(2):123-138 (Apr 1975).

STAGE2 - Macro language.

Standard ML - See SML.

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

StarLISP - See *LISP.

StarMOD - See *MOD.

Steelman - DoD, 1979.  Fifth and last of the series of DoD requirements
that led to Ada.  "Requirements for High Order Programming Languages,
'Steelman'", June 1978.  SIGPLAN Notices 13(12) (Dec 1978).  (See Strawman,
Woodenman, Tinman, Ironman).

STENSOR - L. Hornfeldt, Stockholm, mid-80's.  Symbolic math, especially
General Relativity.  Implemented on top of SHEEP and MACSYMA.

Sticks&Stones - Hardware description language.  Functional, polymorphic,
loosely based on ML.  "An Algebraic Approach to Hardware Description and
Verification", L. Cardelli, Thesis, Edinburgh U, 1982.  "Sticks&Stones II:
A Functional Language VLSI Layout Generation Tool", Andrew Butterfield

STIL - STatistical Interpretive Language.  "STIL User's Manual", C.F.
Donaghey et al, Indust Eng Dept, U Houston (Aug 1969).

STOIC - STring Oriented Interactive Compiler.  Smithsonian Astrophysical
Observatory.  Similar to FORTH for strings, includes many VAX-specific

Stoneman - HOLWG, DoD, Feb 1980.  DoD requirements that led to APSE, the
Ada Programming Support Environment.

STP4 - Statistical language.

Strand -

  1. AND-parallel logic programming language.  Essentially flat Parlog83
with sequential-and and sequential-or eliminated.  "Strand: New Concepts on
Parallel Programming", Ian Foster et al, P-H 1990.  Strand88, available
commerically from Strand Software, Beaverton, OR.

  2. Query language, implemented on top of INGRES (an RDBMS).  "Modelling
Summary Data", R. Johnson, Proc ACM SIGMOD Conf 1981.

Strawman - HOLWG, DoD, 1975.  The first of the series of DoD requirements
that led to Ada.  (See Woodenman, Tinman, Ironman, Steelman).

STREAM - "STREAM: A Scheme Language for Formally Describing Digital
Circuits", C.D. Kloos in PARLE: Parallel Architectures and Languages
Europe, LNCS 259, Springer 1987.

STRESS - STRuctual Engineering Systems Solver.  Structural analysis
problems in Civil Engineering.  Superceded by STRUDL.  "STRESS: A User's
Manual", S.J. Fenves et al, MIT Press 1964.  Sammet 1969, p.612.

STROBES - Shared Time Repair of Big Electronic Systems.  Computer testing.
Sammet 1969, p.699.

STRUDL - STRUctured Design Language.  Dynamic and finite-element analysis,
steel and concrete structures.  Subsystem of ICES.  "ICES STRUDL-II
Engineering User's Manual", R68-91, CE Dept MIT (Nov 1968) Sammet 1969,

STSC APL - Implementation of APL by Scientific Time-Sharing Corp.

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

 Relevant Pages 

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

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

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

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

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

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

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

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

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

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

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


Powered by phpBB® Forum Software