From: billk@HAWK.CS.UKANS.EDU (Bill Kinnersley)
Newsgroups: comp.lang.misc
Subject: The Language List Version 1.8 - Part 7 of 9
Date: 1 Sep 92 22:22:55 GMT

Machine.

Parlance - Concurrent language.  "Parallel Processing Structures:
Languages, Schedules, and Performance Results", P.F. Reynolds, PhD Thesis,
UT Austin 1979.

Parlog - Clark & Gregory, Imperial College 1983.  An AND-parallel Prolog,
with guards and committed choice [=don't care] nondeterminism.  Shallow
backtracking only.  "Parlog: A Parallel Logic Programming Language", K.L.
Clark and S. Gregory, Imperial College, London, May 1983.  ("Parlog83", in
which the ouput mechanism was assignment).  "Parallel Logic Programming in
PARLOG, The Language and Its Implementation", S. Gregory, A-W 1987. 
("Parlog86", in which the output mechanism was unification, as in GHC). 
(See Strand). Implementations: MacParlog and PC-Parlog from Parallel Logic
Programming Ltd, Box 49 Twickenham TW2 5PH, UK.
ftp: nuri.inria.fr
info: parlog@doc.ic.ac.uk

Parlog++ - Andrew Davison <ad@cs.mu.oz.au>, then Imperial College now U
Melbourne.  Object orientation plus parallel logic, built on top of
MacParlog.  Sold by PLP Ltd.  "Parlog++: A Parlog Object-Oriented
Language", A. Davison, Parlog Group, Imperial College 1988.
info: parlog@doc.ic.ac.uk

ParMod - "Parallel Programming with ParMod", S. Eichholz, Proc 1987 Intl
Conf on Parallel Proc, pp.377-380.

PARSEC - Extensible language with PL/I-like syntax, derived from PROTEUS. 
"PARSEC User's Manual", Bolt Beranek & Newman (Dec 1972).

PARULEL - "The PARULEL Parallel Rule Language", S. Stolfo et al, Proc 1991
Intl Conf Parallel Proc, CRC Press 1991, pp.36-45.

Pascal - (named for the French mathematician Blaise Pascal (1623-1662))  N.
Wirth, ca. 1970.  Designed for simplicity, in reaction to the complexity of
ALGOL 68, and intended as a teaching language.  Innovations: enumeration
types, subranges, sets, variant records, case statement.  Missing from
standard Pascal: strings, adjustable arrays, abstract data types,
random-access files, and separate compilation.  Pascal has been extremely
influential in programming language design, and has led to a great number
of variations and descendants.
"PASCAL User Manual and Report", K. Jensen & N. Wirth, Springer 1975.

Pascal-2 - 

Pascal-80 - A successor of Platon.  Developed at RC International for
systems programming.  Later it was renamed Real-Time Pascal.  "PASCAL80
Report", J. Staunstrup, RC Intl, Denmark Jan 1980.

Pascal+CSP - "Pascal+CSP, Merging Pascal and CSP in a Parallel Processing
Oriented Language", J. Adamo, Proc 3rd Intl Conf Distrib Comp Sys, IEEE
1982, pp.542-547.

Pascal-F - Pascal extended to include fixed-point arithmetic.  E. Nelson,
"Pascal-F: Programming Language for Real-Time Automotive Control", IEEE
ElectroTechnol. Rev. (USA), 2:39, 1968.

Pascal-FC - Derived from Pascal-S, provides several types of concurrency:
semaphores, monitors, both occam/CSP-style and Ada-style rendezvous.  "The
Teaching Language Pascal-FC", G.L. Davies et al, Computer J 33(2):147-154
(Apr 1990).

Pascal/L - A SIMD parallel extension of Pascal.  "Implementation of an
Array and Vector Processing Language", C. Fernstrom, Intl Conf Parallel
Proc, IEEE, pp.113-127 (1982)

Pascal-Linda - Ian Flockhart, U Edinburgh, 1991.  Under development.

Pascal-m - "Pascal-m: A Language for Loosely Coupled Distributed Systems",
S. Abramsky et al in Distributed Computing Systems, Y. Paker et al eds,
Academic Press 1986, pp.163-189.

Pascal-P - Variant of Pascal used by the UCSD p-system environment. 
Extended string and array operations, random access files, separate
compilation, etc.  Available from Pecan.

Pascal Plus - Jim Welsh & D. Bustard, Queens U, Belfast.  Pascal with
extensions for object-oriented multiprogramming, uses an 'envelope'
construct for both packages and classes.  "Pascal Plus - Another Language
for Modular Multiprogramming", J. Welsh et al, Soft Prac & Exp 9:947
(1979).  "Sequential Program Structures", J. Welsh et al, P-H ISBN 0-13-
806828-3.

Pascal/R - Pascal with relational database constructs added.  The first
successful integrated database language.  "Pascal/R Report", J.W. Schmidt
et al, U Hamburg, Fachbereich Informatik, Report 66, Jan 1980.

Pascal-S - Simplified Pascal.  Source for a complete Pascal-S compiler is
in "Pascal-S: A Subset and Its Implementation", N. Wirth in Pascal
- The Language and Its Implementation by D.W. Barron, Wiley 1979.

Pascal-SC - ESPRIT DIAMOND Project.  An extension of Pascal for numerical
analysis, with controlled rounding, overloading, dynamic arrays and
modules.  "PASCAL-SC, A Computer Language for Scientific Computation", G.
Bohlender et al, Academic Press 1987.

PASRO - PAScal for RObots.  "PASRO - Pascal for Robots", C. Blume et al,
Springer 1985.

PAT - Personalized Array Translator.  Small subset of APL.  Sammet 1969,
p.252.

Path Pascal - Parallel extension of Pascal.  Processes have shared access
to data objects.  Constraints on their synchronization are specified in a
path expression.  "An Overview of Path Pascal's Design", R.H. Campbell,
SIGPLAN Notices 15(9):13-24 (Sep 1980).

pc - Parallel C.  U Houston.
ftp: karazm.math.uh.edu:pub/Parallel/Tools/pc.1.1.1.tar.Z

PCCTS - Purdue Compiler Construction Tool Set.  "Purdue Compiler
Construction Tool Set," Terence Parr et al, Purdue U, TR-EE 90-14, Feb
1990.

PCF - Simply typed, functional.  "Fully Abstract Translations Between
Functional Languages", J. Riecke, 18th POPL, pp.245-254 (1991).  "LCF
Considered as a Programming Language", Theor CS 5:223 (1977).

PCL - 

  1. Printer Control Language.  Document description language used by
Hewlett-Packard Laserjet printers, a superset of HP-GL/2.  LaserJet
III/IIID Printer Technical Reference Manual, HP 33459-90903.  Versions: PCL
3, PCL 5.

  2. Portable CommonLoops.  Started out as an implementation of
CommonLoops.  Is now being converted to CLOS, but currently implements only
a subset of the CLOS specification.

  3. Peripheral Control Language.  Command language for I/O on the CP-V OS.

  4. "PCL - A Process Oriented Job Control Language", V. Lesser et al, Proc
1st Intl Conf Distrib Comp Sys, IEEE 1979, pp.315-329.

PCN - Program Composition Notation.  A specification language.
info: <foster@mcs.anl.gov>

P-code - The intermediate code produced by the Pascal-P compiler.  Assembly
language for a hypothetical stack machine, the P-machine.  "A Comparison of
PASCAL Intermediate Languages", P.A. Nelson, SIGPLAN Notices 14(8):208-213
(Aug 1979).  Variants: P-2 P-code, P-4 P-code, UCSD P-code, LASL P-code.

PC-TILES - A visual language.

PCLIPS - Parallel CLIPS - U Lowell.  Concurrent independent CLIPS expert
systems.  They use 'rassert' (remote assert) to enter facts into each
other's database.  "PCLIPS: A Distributed Expert System Environment", R.
Miller, CLIPS Users Group Conf, Aug 1990.
info: dragon.ulowell.edu:pub/PClips

PDEL - Partial Differential Equation Language.  Preprocessor for PL/I. 
"PDEL - A Language for Partial Diferential Equations", A.F. Cardenas, CACM
13(3):184-191 (Mar 1970).

PDELAN - Partial Differential Equation LANguage.  "An Extension of FORTRAN
Containing Finite Difference Operators", J. Gary et al, Soft Prac & Exp
2(4) (Oct 1972).

PDL2 - Process Design Language.  Developed for the TI ASC computer.  "Texas
Instruments Process Design Methodology - Design Specification: Process
Design Language", Volume I (Sep 1976).  Mentioned in "An Overview of Ada"
J.G.P. Barnes, Soft Prac & Exp 10:851-887 (1980).

PDS/MaGen - Problem Descriptor System.  Generation of matrices and reports
for mathematical programming and operations research.  "PDS MaGen User
Information Manual", Haverly Systems (Dec 1977).

Pearl -

  1. Constable, Cornell U, 80's.  Constructive mathematics.

  2. Process and Experiment Automation Real-Time Language.  A language to
program process control systems. Heavily used in Europe ca. 1980.

  3. 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, Ruby[2]).

Pebble - Polymorphic.  "A Kernel Language for Abstract Data Types and
Modules", R.M. Burstall & B. Lampson, in Semantics of Data Types, LNCS 173,
Springer 1984.

Pebbleman - DoD requirements that led to APSE.

PECOS - Constraint-based plus object-oriented programming, built on Le-
Lisp.  ILOG, 12 av Raspail, BP 7, F94251 Gentilly, France.

PEEL - Used to implement version of EMACS on PRIME computer. [?]

PENCIL - Pictorial ENCodIng Language.  On-line system to display line
structures.  Sammet 1969, 675.

PEPsy - Prolog extended with parallel modules within which explicit OR-
parallelism can be used.  "PEPsy: A Prolog for Parallel Processing", M.
Ratcliffe et al, ECRC TR CA-17, 1986.

Perl - Practical Extraction and Report Language.  Larry Wall <lwall@jpl-
devvax.jpl.nasa.gov>  An AWK-like scripting language for scanning text and
printing reports.  "Programming Perl", Larry Wall et al, O'Reilly & Assocs.
ftp: jpl-devvax.jpl.nasa.gov:pub/perl.4.0 for Unix, MS-DOS, Amiga
     rascal.utexas.edu:programming/Perl_402_MPW_CPT_bin for Mac
uucp: osu-cis

pf - Parallel Fortran. U Houston.  Under development.
info: <scott@uh.edu>

PFL - Holmstrom, Matthews.  A concurrent extension of ML, using CCS.  "PFL:
A Functional Language for Parallel Programming", S. Holmstrom in Proc
Declarative Language Workshop, London 1983.

PHOCUS - Object-oriented Prolog-like language.  "PHOCUS: Production Rules,
Horn Clauses, Objects and Contexts in a Unification Based System", D. Chan
et al, Actes du Sem Prog et Logique, Tregastel (May 1987), pp.77-108.

PIC - Brian Kernighan.  Graphics meta-language for textually describing
pictures, for use with troff.  Featured in Jon Bentley's "More Programming
Pearls."  "PIC - A Language for Typesetting Graphics", B.W. Kernighan, Soft
Prac & Exp 12(1):1-21 (Jan 1982).  "PIC - A Graphics Language for
Typesetting, Revised User Manual", Bell Labs TR 116, Dec 1984.

Pick BASIC - see Data/BASIC.

PIE - CMU.  Similar to Actus.

PIL - Procedure Implementation Language, subsytem of DOCUS.  Sammet 1969,
p.678.

PIL/I - Variant of JOSS.  Sammet 1969, p.217.

PILE - 

  1. Polytechnic's Instructional Language for Educators.  Similar in use to
an enhanced PILOT, but structurally more like Pascal with Awk-like
associative arrays (optionally stored on disk).  Distributed to about 50
sites by Initial Teaching Alphabet Foundation for Apple II and CP/M.  "A
Universal Computer Aided Instruction System," Henry G. Dietz & Ronald J
Juels, Proc Natl Educ Computing Conf '83, pp.279-282.

  2. "PILE _ A Language for Sound Synthesis", P. Berg, Comput Music J 3,1
(1979).

PILOT - Programmed Inquiry Learning Or Teaching.  CAI language, many
versions.  "Guide to 8080 PILOT", J. Starkweather, Dr Dobb's J (Apr 1977).

PINBOL - Decision table language for controlling pinball machines used at
Atari.  Included a multi-tasking executive and an interpreter that worked
on data structures compiled from condition:action lists.

PIRL - Pattern Information Retrieval Language.  Language for digraph
manipulation, embeddable in FORTRAN or ALGOL, for IBM 7094.  "PIRL -
Pattern Information Retrieval Language", S. Berkowitz, Naval Ship Res Dev
Ctr, Wash DC.

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

PL-11 - High-level machine-oriented language for the PDP-11.  (May have
been from CERN.)

PL/360 - Assembly language for IBM 360 and 370, with a few high-level
constructs.  "PL/360, A Programming Language for the 360 Computers", N.
Wirth, J ACM 15(1):37-74 (Jan 1968).

PL-6 - PL/I-like system language for the Honeywell OS CP-6.

PL/8 - A systems dialect of PL/I, developed originally for the IBM 801 RISC
mini, later used internally for the IBM RT and other projects.  "An
Overview of the PL.8 Compiler", M. Auslander et al, Proc SIGPLAN '82 Symp
on Compiler Writing.

Pla - High-level music programming language, written in SAIL.  Includes
concurrency based on message passing.  "Pla: A Composer's Idea of a
Language", B. Schottstaedt, Computer Music J 7(1):11-20 (Winter 1983).

PLACE - Programming Language for Automatic Checkout Equipment.  "The
Compiler for the Programming Language for Automatic Chekcout Equipment
(PLACE)", AFAPL TR-68-27, Battelle Inst, Columbus, May 1968.

PLAIN - Programming LAnguage for INteraction.  Pascal-like, with extensions
for database, string handling, exceptions and pattern matching.  "Revised
Report on the Programming Language PLAIN", A. Wasserman, SIGPLAN Notices
6(5):59-80 (May 1981).

PLAN - Assembly language for ICL1900 series machines.

Planet - "An Experiment in Language Design for Distributed Systems", D.
Crookes et al, Soft Prac & Exp 14(10):957-971 (Oct 1984).

PLANIT - Programming LANguage for Interaction and Teaching.  CAI language. 
"PLANIT - A Flexible Language Designed for Computer-Human Interaction",
S.L. Feingold, Proc FJCC 31, AFIPS (Fall 1967)  Sammet 1969, p.706.

Plankalkul - Konrad Zuse, ca. 1945.  The first programming language, never
implemented.  Included arrays and records.  Much of his work may have been
either lost or confiscated in the aftermath of WWII.  "The Plankalkul of
Konrad Zuse", F.L. Bauer et al, CACM 15(7):678-685 (Jul 1972).

PLANNER - C. Hewitt <hewitt@ai.mit.edu> MIT 1967.  A language for writing
theorem provers.  Never fully implemented, see microPLANNER.  "PLANNER: A
Language for Proving Theorems in Robots", Carl Hewitt, Proc IJCAI-69, Wash
DC, May 1969.

PLANS - Programming Language for Allocation and Network Scheduling.  A PL/I
preprocessor, used for developing scheduling algorithms.  "A User's Guide
to the Programming Language for Allocation and Network Scheduling", H.R.
Ramsey et al, TR SAI-77-068-DEN, Science Applications Inc (Jun 1977).

Plasma - Carl Hewitt, 1976.  The first actor language.  "Viewing Control
Structures as Patterns of Passing Messages", C. Hewitt, AI Memo 410, MIT
1976.

Platon - Distributed language based on asynchronous message passing. 
"Message Passing Communication Versus Procedure Call Communication", J.
Staunstrup, Soft Prac & Exp 12(3):223-234 (Mar 1982).  "Platon Reference
Manual", S. Soerensen et al, RECAU, U Aarhus, Denmark.

PLAY - 1977.  Language for real-time music synthesis.  "An Introduction to
the Play Program", J. Chadabe ete al, Computer Music J 2,1 (1978).

Playground - A visual language for children, developed for Apple's Vivarium
Project.  OOPSLA 89 or 90?

PL/C - Subset of PL/I for student use.  "User's Guide to PL/C", S. Worona
et al, Cornell, June 1974.  "PL/C - A High Performance Compiler" H.L.
Morgan et al, Proc SJCC, AFIPS 38:503-510 (1971).

PL/I - Programming Language I.  George Radin, 1964.  Oriinally named NPL. 
An attempt to combine the best features of FORTRAN, COBOL and ALGOL 60. 
Result is large but elegant.  One of the first languages to have a formal
semantic definition, using the Vienna Definition Language.  EPL, a dialect
of PL/I, was used to write almost all of the Multics OS.  PL/I has no
reserved words.  Types are fixed, float, complex, character strings with
max length, bit strings, and label variables.  Arrays have lower bounds,
and may be dynamic. Summation, multi-level structures, structure
assignment, untyped pointers, side effects, aliasing.  Control flow goto,
do-end groups, do-to-by-while-end loops, external procedures and internal
nested procedures and blocks, procedures may be declared recursive. 
Generic procedures.  Many implementations support concurrency ('call task'
and 'wait(event)' amount to fork/join) and compile-time statements. 
Exception handling.  "A Structural View of PL/I", D. Beech, Computing
Surveys, 2,1 33-64 (1970).  ANS X3.53-1976, X3.74-1981.
list: PL1-L@UIUCVMD.BITNET
ftp: wuarchive.wustl.edu:/mirrors/msdos/pli/runpli1a.arc, PL/I interpreter
version: LPI for PC's and workstations <rcg@lpi.liant.com>

PL/I SUBSET - Early 70's version of PL/I for minis.

PL/I Subset G - The commercial PL/I subset (i.e., what was actually
implemented by most vendors).

PL/I-FORMAC - Variant of FORMAC.  "The PL/I-FORMAC Interpreter", J.
Xenakis, Proc 2nd Symp Symbolic and Algebraic Manip, ACM (Mar 1971). 
Sammet 1969, p.486.

Plisp - Pattern LISP.  1990.  A pattern-matching rewriting language for
describing syntax translation rules.  (See LISP70).
  
PLITS - Programming Language In The Sky.  A computational model for
concurrency with communication via asynchronous message-passing.  "High
Level Programming for Distributed Computing", J.A. Feldman, CACM 22(6):353-
368 (Jun 1979).

PL/M - Programming Language/Microcomputers.  Intel.  [Gary Kildall used to
implement CP/M?]  A very low level language designed to look like PL/I. 
"PL/M-80 Programming Manual", Doc 98-268B, Intel 1976.  "A Guide to PL/M
Programming for Microcomputer Applications", D. McCracken, A-W 1978. 
Versions: PL/M-80, PL/M-86, PL/M-286.

PL/P - Programming Language, Prime.  Russ Barbour, PRIME Computer, late
70's.  Subset of PL/I used internally for implementation of PRIMOS.  (See
SPL[4]).

PL/PROPHET - PL/I-like language for the PROPHET system, used by
pharmacologists.  "The Implementation of the PROPHET System", P.A.
Castleman et al, NCC 43, AFIPS (1974).

PL/S - Programming Language/Systems.  IBM late 60's.  Apparently a hybrid
of PL/I and ASM.  Much of IBM/360 OS/MFT/MVT/SVS/MVS was written in it. 
Documented by various IBM internal ZZ-? publications.  Versions: PLS1,
PLSII.

PL/Seq - Programming Language for Sequences.  A DSP language.  "A General
High Level Language for Signal Processors", J. Skytta & O. Hyvarinen,
Digital Signal Processing 84, Proc Intl Conf, Fiorence, Italy, Sep 1984,
pp.217-221.

PLUSS - Proposition of a Language Useable for Structured Specifications. 
Algebraic specification language, built on top of ASL.  "A First
Introduction to PLUSS", M.C. Gaudel, TR, U Paris Sud, Orsay 1984.

PM - "PM, A System for Polynomial Manipulations", G.E. Collins, CACM
9(8):578-589 (Aug 1966).

PLZ - [?]

PML - Parallel ML.  "Synchronous Operations as First-Class Values", J.H.
Reppy <jhr@research.att.com>, Proc SIGPLAN 88 Conf Prog Lang Design and
Impl, June 1988, pp.250-259.

POGO - Early system on G-15.  Listed in CACM 2(5):16 (May 1959).

Polka - Object orientation plus parallel logic, built on top of Parlog. 
"Polka: A Parlog Object-Oriented Language", Andrew Davison
<ad@mullauna.cs.mu.oz.au>, TR, Parlog Group, Imperial College, London 1988.
info: parlog@doc.ic.ac.uk

Poly - 

  1. D.C.J. Matthews, Cambridge, early 80's.  Polymorphic,
block-structured.  "An Overview of the Poly Programming Language", D.C.J.
Matthews <djcm@cl.cam.ac.uk>, in Data Types and Persistence, M.P. Atkinson
et al eds, Springer 1988.

  2. St Andrews U, Scotland.  Software Prac & Exp, Oct 1986.[?]

  3. Polymorphic language used in "Polymorphic Programming Languages",
David M. Harland, Ellis Horwood 1984.

POLYGOTH - Distributed language integrating classes with a parallel block
structure, including multiprocedures and fragments.  "Operational Semantics
of a Distributed Object-Oriented Language and its Z Formal Specification",
M. Benveniste <mbenveni@irisa.irisa,fr>, TR532, IRISA/INRIA-Rennes.

Ponder - Jon Fairbairn, <jf@cl.cam.ac.uk>.  Polymorphic, non-strict
functional language.  Has a type system similar to Girard's System F
("Proofs and Types", J-Y. Girard, Cambridge U Press 1989), also known as
Lambda-2 or the polymorphic lambda calculus.  Ponder adds extra recursive
'mu' types to those of F, allowing more general recursion.  "Ponder and its
Type System", J. Fairbairn, TR 31, Cambridge U Computer Lab, Nov 1982. 
Also "Subtyping in Ponder", V. Paiva, TR 203.

POOL2 - Parallel Object-Oriented Language.  Philips Research Labs, 1987. 
Strongly typed, synchronous message passing, designed to run on DOOM (DOOM
= Decentralized Object-Oriented Machine).  "POOL and DOOM: The Object-
Oriented Approach", J.K. Annot, PAM den Haan, in Parallel Computers,
Object-Oriented, Functional and Logic, P. Treleaven ed.  "Issues in the
Design of a Parallel Object-Oriented Language", P. America, Formal Aspects
of Computing 1(4):366-411 (1989).  

POOL-I - Latest in the line of POOL languages.  "A Parallel Object-Oriented
Language with Inheritance and Subtyping", P. America et al, SIGPLAN Notices
25(10):161-168 (OOPSLA/ECOOP '90) (Oct 1990).

POOL-T - Object-oriented, concurrent, synchronous.  Predecessor of POOL2. 
"Definition of the Programming Language POOL-T", Esprit Project 415, Doc.
0091, Philips Research Labs, Eindhoven, Netherlands, June 1985.

POP-2 - Robin POPplestone 1968.  Implemented many of Landin's ideas,
including streams, closures, and functions as first-class citizens.  "POP-2
Papers", R.M. Burstall et al, Oliver & Boyd 1968.  "Programming in POP-2",
R.M. Burstall et al, Edinburgh U Press 1971.  Forerunner of POP-11.

POP-10 - Evolved from POP-2.  "POP-10 User's Manual", D.J.M. Davies, CS
R25, U West Ontario, 1976.

POP-11 - Robin POPplestone, 1970.  It's like FORTH (stack-oriented,
extensible, efficient).  It's like LISP (functional, dynamically typed,
interactive, garbage-collected).  And the syntax is like Pascal. 
"Programming in POP-11", J. Laventhol, Blackwell 1987.  Implementations:
POPLOG (U Sussex), AlphaPop for Mac (Computable Functions Inc, 413-253-
7637).

POP++ - An extension of POPLOG.  Available from Integral Solutions.

POPCORN - AI system built on POP-2.  "The POPCORN Reference Manual", S.
Hardy, Essex U, Colchester, 1973.

Poplar - Morris, 1978.  A blend of LISP with SNOBOL4 pattern matching and
APL-like postfix syntax.  Implicit iteration over lists, sorting primitive.
"Experience with an Applicative String-Processing Language", J.H. Morris et
al, 7th POPL, ACM 1980, pp.32-46.

POPLER - A PLANNER-type language for the POP-2 environment.  "Popler 1.6
Reference Manual", D. Davies et al, U Edinburgh, TPU Report No 1 (May
1973).

POPLOG - U Sussex.  Language for the two-stack virtual machine which
underlies the POPLOG interactive environment.  POPLOG supports POP-11,
LISP, Prolog and SML via shared data structures and incremental
compilation, and is available for most workstations.
info: Robin Popplestone <pop@cs.umass.edu> (413)253-7637

Port - Waterloo Microsystems (now Hayes Canada) ca. 1979.  Imperative
language descended from Zed.  "Port Language" document in the Waterloo Port
Development System.

Portable Standard Lisp - "A Portable Lisp System", M.L. Griss et al, Proc
1982 ACM Symp on Lisp and Functional Prog, Aug 1982.

PORTAL - Process-Oriented Real-Time Algorithmic Language.  "PORTAL - A
Pascal-based Real-Time Programming Language", R. Schild in Algorithmic
Languages, J.W. deBakker et al eds, N-H 1981.

Port Language - "Communicating Parallel Processes", J. Kerridge et al, Soft
Prac & Exp 16(1):63-86 (Jan 1986).

POSE - 1967.  An early query language.  "POSE: A Language for Posing
Problems to Computers", S. Schlesinger et al, CACM 10:279-285 (May 1967).

POSTQUEL - POSTGRES QUERy Language.  Language used by the database system
POSTGRES.  "The Design of POSTGRES", M. Stonebraker et al, Proc ACM SIGMOD
Conf, June 1986.
ftp: postgres.berkeley.edu:pub/postgresv4r0.tar.Z    Version 4.0

PostScript - J. Warnock et al, Adobe Systems, ca. 1982.  Interpretive
FORTH-like language used as a page description language by Apple
LaserWriter, and now many laser printers and on-screen graphics systems. 
"PostScript Language Reference Manual" ("The Red Book"), Adobe Systems, A-W
1985.

POSYBL - PrOgramming SYstem for distriButed appLications.  Ioannis
Schoinas.  A Linda implementation for Unix networks.
ftp: ariadne.csi.forth.gr:pub/POSYBL.TAR.Z
info: sxoinas@csd.uch.gr

PowerFuL - Combines functional and logic programming, using "angelic
Powerdomains".

PPL - Polymorphic Programming Language.  Interactive and extensible, based
on APL.  "Some Features of PPL - A Polymorphic Programming Language", T.A.
Standish, SIGPLAN Notices 4(8) (Aug 1969).

PPLambda - Essentially the first-order predicate calculus superposed upon
the simply-typed polymorphic lambda-calculus.  The object language for LCF. 
"Logic and Computation: Interactive Proof with Cambridge LCF", L. Paulson,
Cambridge U Press, 1987.

P-Prolog - Parallel logic language.  "P-Prolog: A Parallel Logic Language
Based on Exclusive Relation", R. Yang et al, Third Intl Conf on Logic Prog,
1986, pp.255-269.

PREP - PRogrammed Electronics Patterns.  Language for designing integrated
circuits.  "Computer Assisted Mask Production", R.L. Rosenfeld, Proc IEEE
57(9) Sep 1969.

PRESTO - Bershad et al, U Washington 1987.  A parallel language for shared-
memory multiprocessors, built on top of C++.  Provides classes for threads
and spinlocks.  Also Mesa-style monitors and condition variables.  "PRESTO:
A Kernel for Parallel Programming Environments", B.N. Bershad et al, U Wash
CS TR, Jan 1987.
info: presto@cs.washington.edu
ftp: cs.washington.edu:pub/presto1.0.tar.Z

PRINT - PRe-edited INTerpreter.  Early math for IBM 705.  Sammet 1969,
p.134.

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

PRISM - Distributed logic language.  "PRISM: A Parallel Inference System
for Problem Solving", S. Kasif et al, Proc 1983 Logic Prog Workshop,
pp.123-152.

PRL - Proof Refinement Logic.  "PRL: Proof Refinement Logic Programmer's
Manual",  CS Dept, Cornell, 1983.  Versions: micro-PRL, lambda-PRL, nu-PRL.
(See NUPRL).

Probe - Object-oriented logic language based on ObjVlisp.  "Proposition
d'une Extension Objet Minimale pour Prolog", Actes du Sem Prog en Logique,
Tregastel (May 1987), pp.483-506.

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

PROCOL - J. Van Den Bos, Erasmus U, Rotterdam.  Constraints and distributed
delegation.  "PROCOL: A Parallel Object Language with Protocols", J. Van
Den Bos et al, SIGPLAN Notices 24(10):95-102 (OOPSLA '89) (Oct 1989).

PROFILE - Simple language for matching and scoring data.  "User's Manual
for the PROFILE System", Cambridge Computer Assoc (May 1974).

PROGENY - 1961.  Report generator for UNIVAX SS90.

Prograph - Technical U, Halifax.  Visual language, a blend of dataflow and
object orientation.  Available for Mac.  TGS Systems (902) 429-5642.

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

Prolog - PROgrammation en LOGique.  (Original name: SYSTEM Q).  Alain
Colmerauer and Phillipe Roussel, U Aix-Marseille 1971.  First implemented
in ALGOL-W in 1972.  Designed originally for natural-language processing. 
LUSH (or SLD) resolution theorem proving based on the unification alorithm. 
No user-defined functions, and no control structure other than the built-in
depth-first search with backtracking.  "Programming in Prolog", W.F.
Clocksin & C.S. Mellish, Springer 1985.  Early collaboration between
Marseille and R. Kowalski at U Edinburgh continued until about 1975.  (See
LM-Prolog, SB-Prolog).  Draft ISO standard.
ftp: cpsc.ucalgary.ca:pub/prolog1.1 - Prolog interpreter in Scheme
     aisun1.ai.uga.edu:ai.prolog/eslpdpro.zip ESL Prolog for MS-DOS
     aisun1.ai.uga.edu:ai.prolog/?  Open Prolog for Mac
	cs.utah.edu:pub/frolic.tar.Z - Prolog interpreter in Common LISP.

Prolog-2 - An implementation of Edinburgh Prolog.  "An Advanced Logic
Programming Language", Anthony Dodd.
info: Nick Henfrey, ESL (Expert Systems Ltd, Magdalen Centre, Oxford
Science Park, Oxford, OX4 4GA, tel 0865 784474).

Prolog-II - Prolog with two new predicates: 'dif' for coroutines and
'freeze' for delayed evaluation.  "Prolog II Reference Manual and
Theoretical Model", A. Colmerauer, Internal Report, GroupeIA, U Aix-
Marseille (Oct 1982).  Available from ExperIntelligence, Santa Barbara CA.

Prolog-III - A. Colmerauer, U Aix-Marseille, ca 1984.  Marseille Prolog,
with unification replaced by constraint resolution.  [deferred goals too?] 
(Not to be confused with Prolog 3, a commercial product.)  "Opening the
Prolog-III Universe", BYTE 12(9):177-182 (Aug 1987).  "An Introduction to
Prolog III", A. Colmerauer, CACM 33(7):69-90 (1990).

Prolog++ - Phil Vasey, Logic Programming Associates.  Prolog with object-
oriented features added.  For MS-DOS and X-windows.  Distributed by AI Intl
Ltd in England and Quintus (800)542-1283.

Prolog-D-Linda - Embeds the Linda parallel paradigm into SISCtus Prolog.
ftp: ftp.cs.uwa.au
info: geoff@cs.uwa.edu.au

Prolog-Linda - 

  1. Prolog extended with Linda-style parallelism.  Proc 4th Australian
Conf on Artif Intell.
ftp: bison.cs.uwa.oz.au

  2. Neil MacDonald, U Edinburgh 1989.  Another Prolog extended with Linda,
implemented on a Computing Surface.

PROMAL - Computer Language, Mar 1986, pp.128-134. [?]

Pronet - "The Design of a Programming Language Based on Connectivity
Networks", R. LeBlanc et al, Proc 3rd Intl Conf Distrib Comp Sys, IEEE
1982, pp.532-541.

Proposal Writing - Extension of FORTRAN for proposal writing.  Sammet 1969,
p.170.

PROSE - 

  1. PROblem Solution Engineering.  Numerical problems including
differentiation and integration.  "Computing in Calculus", J. Thames,
Research/Development 26(5) (May 1975).

  2. A constraints-and-sequencing system similar to Kaleidoscope. 
"Reflexive Constraints for Dynamic Knowledge Bases", P. Berlandier et al in
Proc First Intl CS Conf '88: AI: Theory and Appls, Dec 1988.

PROSPER - "PROSPER: A Language for Specification by Prototyping", J.
Leszczylowski, Comp Langs 14(3):165-180 (1989).

ProTalk - Quintus.  An object-oriented Prolog.

PROTEUS - Extensible language, core of PARSEC.  "The Design of a Minimal
Expandable Computer Language", J.R. Bell, PhD Thesis, CS, Stanford U (Dec
1968).

Protosynthex - Query system for English text.  Sammet 1969, p.669.

PS-ALGOL - Persistent Algol.  ca 1981, released 1985.  A derivative of S-
Algol.  Database capability derived from the longevity of data.  "The PS-
Algol Reference Manual", TR PPR-12-85, CS Dept, U Glasgow 1985.  IBM PC
version available from CS Dept, U Strathclyde, Glasgow.

Psather - Parallel version of Sather, under development.

PSML - Processor System Modeling Language.  Simulating computer systems
design.  A preprocessor to SIMSCRIPT.  "Processor System Modeling - A
Language and Simulation System", F. Pfisterer, Proc Symp on Simulation of
Computer Systems (Aug 1976).

P-TAC - Parallel Three Address Code.  "P-TAC: A Parallel Intermediate
Language", Z. Ariola et al, Fourth Intl Conf Func Prog Langs and Comp Arch,
ACM Sept 1989.  (See Kid).

PUB - PUBlishing.  1972.  An early text-formatting language for TOPS-10,
with syntax based on SAIL.  Inluenced TeX and Scribe.  "PUB: The Document
Compiler", Larry Tesler, Stanford AI Proj Op Note, Sept 1972.

PUFFT - "The Purdue University Fast FORTRAN Translator", Saul Rosen et al,
CACM 8(11):661-666 (Nov 1965).

PVM - Concurrent language?

Python - 

  1. Guido van Rossum <guido@cwi.nl> 1991.  A high-level interpreted
language combining ideas from ABC, C, Modula-3, Icon, etc.  Intended for
prototyping or as an extension language for C applications.  Modules,
classes, user-defined exceptions.  "Linking a Stub Generator (AIL) to a
Prototyping Language (Python)", Guido van Rossum et al, Proc 1991 EurOpen
Spring Conf.  Available for Unix, Amoeba and Mac.  Version 0.9.6
ftp: gatekeeper.dec.com:pub/plan/python and hp4nl.nluug.nl
list: python-list@cwi.nl

  2. Compiler for CMU Common LISP.

Q'NIAL - Queen's U, Canada.  A portable incremental compiler for NIAL,
written in C.  "The Q'NIAL Reference Manual", M.A. Jenkins, Queen's U
Report, Dec 1983.  Versions for Unix and MS-DOS, from NIAL Systems Ltd,
Ottawa Canada, (613)234-4188.

QA4 - Question-answering language.  A procedural calculus for intuitive
reasoning.  A LISP-based pattern-matching language for theorem proving. 
"QA4, A Language for Writing Problem-Solving Programs", J.F. Rulifson et
al, Proc IFIP Congress 1968.

QBE - Query By Example.  Moshe Zloof, IBM 1975.  A user-friendly query
language.  "QBE: A Language for Office and Business Automation", M.M.
Zloof, Computer pp.13-22 (May 1981).

Qlambda - "Queue-based Multi-processing Lisp", R. Gabriel & J. McCarthy,
Proc 1984 Symp Lisp and Functional Prog, pp.25-44.

QLISP - 

  1. SRI 1973.  General problem solving, influenced by PLANNER.  QA4
features merged with INTERLISP.  "QLISP - A Language for the Interactive
Development of Complex Systems", E. Sacerdoti et al, NCC 45:349-356, AFIPS
(1976).

  2. A parallel LISP.  "Qlisp", R. Gabriel et al in Parallel Computation
and Computers for AI, J. Kowalik ed, 1988, pp.63-89.

QLOG - An integration of logic programming into LISP.  "QLOG - The
Programming Environment for Prolog in LISP", H.J. Komorowski in Logic
Prgramming, K.L. Clark et al eds, Academic Press 1982.

QPE - Two-dimensional pictorial query language.  "Pictorial Information
Systems", S.K. Chang et al eds, Springer 1980.

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

QUEL - Query language used by the database management system INGRES.

Quest - 

  1. A language designed for its simple denotational semantics.  "The
Denotational Semantics of Programming Languages", R. Tennent, CACM
19(8):437-453 (Aug 1976).

  2. Language with a sophisticated type system.  "Typeful Programming",
Luca Cardelli, DEC SRC RR 45, 1989.

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

Quicksilver - dBASE-like compiler for MS-DOS from WordTech, Orinda, CA.

QUIKTRAN - FORTRAN-like, interactive with debugging facilities.  Sammet
1969, p.226.

QUIN - Pyle 1965.  Interactive language.  Sammet 1969, p.691.

Quintec-Objects - Based on Quintec (not Quintus) Prolog.  British.

Quty - Functional plus logic.  "Quty: A Functional Language Based on
Unification", M. Sato et al, in Conf Fifth Gen Computer Systems, ICOT 1984,
pp.157-165.

QX - (meaning "OK", from E.E. Smith SF books).  Richard Gillmann,  SDC,
Santa Monica.  Language for digital signal processing of digitized speech. 
Was part of SDC's speech recognition project.

Raddle - "On the Design of Large Distributed Systems", I.R. Forman, Proc
1st IEEE Intl Conf Comp Langs, pp.25-27 (Oct 1986).

RAIL - Automatix.  High-level language for industrial robots.

RAISE - Rigorous Approach to Industrial Software Engineering.  A
specification and design language.  ESPRIT project 315, CRI A/S, Denmark.

RAMIS II - Rapid Access Management Information System.  Database system. 
On-Line Software Intl.

Rapidwrite - Method for translating set of abbreviations into the much more
verbose COBOL code.  Sammet 1969, p.338.

RAPT - "An Interpreter for a Language for Describing Assemblies", R.J.
Popplestone et al, Artif Intell 14:79-107 (1980).

RASP - "RASP - A Language with Operations on Fuzzy Sets", D.D. Djakovic,
Comp Langs 13(3):143-148 (1988).

RATEL - Raytheon Automatic Test Equipment Language.  For analog and digital
computer controlled test centers.  "Automatic Testing via a Distributed
Intelligence Processing System", S.J. Ring, IEEE AUTOTESTCON 77 (Nov 1977).

RATFIV - Successor to RATFOR.

RATFOR - RATional FORTRAN.  Kernighan.  FORTRAN preprocessor to allow
programming with C-like control flow.  "Ratfor - A Preprocessor for a
Rational Fortran", B.W. Kernighan, Soft Prac & Exp 5:395-406 (Oct 1975). 
Featured in "Software Tools", B.W. Kernighan & P.J. Plauger, A-W 1976.
ftp: wuarchive.wustl.edu: mirrors/unix-c/languages/ratfor.tar-z

RAWOOP-SNAP - Early system on IBM 1103 or 1103A.  Listed in CACM 2(5):16
(May 1959).

R:BASE - MS-DOS 4GL from Microrim.  Based on Minicomputer DBMS RIM.  Was
Wayne Erickson the author?

RBCSP - "A Communicating Sequential Process Language and Implementation",
T. Roper & J. Barter, Soft Prac & Exp 11(11):1215-1234 (Nov 1981).

rc - Tom Duff.  AT&T Plan 9 shell.  Lookalike by Byron Rakitzis
<byron@archone.tamu.edu>
ftp: archone.tamu.edu

RCC - An extensible language. [?]

RDL - Requirements and Development Language.  "RDL: A Language for Software
Development", H.C. Heacox, SIGPLAN Notices 14(9):71-79 (Sep 1979).

Real-Time Euclid - Real-time language, restriction to time-bounded
constructs.  "Real-Time Euclid: A Language for Reliable Real-Time Systems",
E. Kligerman et al, IEEE Trans Software Eng SE-12(9):941-949 (Sept 1986).

Real-Time Mentat - An extension of C++.  "Real-Time Mentat: A Data-Driven
Object-Oriented System", A.S. Grimshaw et al, Proc IEEE Globecom, Nov 1989
pp.232-241.

Real-Time Pascal - Later name for Pascal-80 by RC Intl, Denmark.

REC - Regular Expression Converter.  See CONVERT.

Recital - dBASE-like language/DBMS from Recital Corp.  Versions include
VAX/VMS.

RECOL - REtrieval COmmand Language.  CACM 6(3):117-122 (Mar 1963).

RED - (Also "REDL").  Intermetrics.  A language proposed to meet the
Ironman requirements which led to Ada.  "On the RED Language Submitted to
the DoD", E.W. Dijkstra, SIGPLAN Notices 13(10):27 (Oct 1978).

REDCODE - Proposed as a language for "battle programs" in corewars.  (See
Computer Recreations column in Scientific American.)

RediLisp - R.M. Keller, U Utah.  Dialect of Lisp used on the Rediflow
machine, a derivative of FEL.

REDUCE - Anthony Hearn, 1963.  Symbolic math, ALGOL-like syntax, written in
LISP.  "REDUCE, Software for Algebraic Computation", G. Rayna, Springer
1987.  Version: Reduce 2, based on Portable Standard LISP.
list: REDUCE-L@DEARN.BITNET
info: reduce@rand.org
server: reduce-netlib@rand.org

REF-ARF - "REF-ARF: A System for Solving Problems Stated as Procedures",
R.E. Fikes, Artif Intell J 1(1) (Spring 1970).

REFINE - ?
info: maria@kestrel.edu

Refined C (RC) - An extension of C to directly specify data access rights
so that flow analysis, and hence automatic parallelization, is more
effective.  Research implementations only.  "Refining A Conventional
Language For Race-Free Specification Of Parallel Algorithms," H.G. Dietz et
al, Proc 1984 Intl Conf Parallel Proc, pp.380-382.

Refined Fortran (RF) - Similar to Refined C.  Research implementations
only.  "Refined FORTRAN: Another Sequential Language for Parallel
Programming," H.G. Dietz et al, Proc 1986 Intl Conf Parallel Proc,
pp.184-191.

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

Relational Language.  Clark & Gregory.  First parallel logic language to
use the concept of committed choice.  Forerunner of PARLOG.  "A Relational
Language for Parallel Programming", K.L. Clark et al, Proc ACM Conf on
Functional Prog Langs and Comp Arch, pp.171-178, ACM 1981.

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

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

REL English - Rapidly Extensible Language, English.  A formal language
based on English.  "Practical Natural Language Processing: The REL System
as Prototype", Adv in Computers 13, Academic Press 1975.

RenderMan Shading Language.  "The RenderMan Companion", S. Upstill, A-W
1989, chaps 13-15.

RENDEZVOUS - Query language, close to natural English.  "Seven Steps to
Rendezvous with the Casual User", E. Codd in Data Base Management, J.W.
Klimbie et al eds, N-H 1974, pp.179-199.

REPL - Restricted EPL.  A subset of EPL (the efficient part) used to write
the core of Multics.

Required-COBOL - 1961.  Minimal subset of COBOL.  Later dropped entirely. 
Sammet 1969, p.339.

Retrieve - Tymshare Corp, 1960's.  Query language, inspired JPLDIS which
lead to Vulcan[1] and then to dBASE II.

Revised ALGOL 60 - Alternate name for ALGOL 60 Revised.  Sammet 1969,
p.773.

REXX - Restructured EXtended eXecutor.  Cowlishaw, IBM ca. 1979.  (Original
name: REX.  They also call it "System Product Interpreter").  Scripting
language for IBM VM and MVS systems, replacing EXEC2.  "Modern Programming
Using REXX", R.P. O'Hara et al, P-H 1985.  "The REXX Language: A Practical
Approach to Programming", M.F. Cowlishaw, 1985.  Versions: PC-Rexx for MS-
DOS, and AREXX for Amiga.
list: REXX-L@UIUCVMD.BITNET.
ftp: arexx.uwaterloo.ca:pub/freerexx    REXX interpreters for Unix

RIGAL - Language for compiler writing.  Data strucures are atoms,
lists/trees.  Control based on pattern-matching.  "Programming Language
RIGAL as a Compiler Writing Tool", M.I. Augustson, Inst of Math and CS of
Latvia U, 1987.

Rigel - Database language?  Based on Pascal.  Listed by M.P. Atkinson &
J.W. Schmidt in a tutorial presented in Zurich, 1989.

RLL - Representation Language Language.  A frame language.  "A
Representation Language Language", R. Greiner and D.B. Lenat, Proc AAAI-80,
1980.

Xref: sparky comp.lang.misc:2796 comp.compilers:1468