Programming Languages - P

Sample Program


P+ - "Experience with Remote Procedure Calls in a Real-Time Control System", B. Carpenter et al, Soft Prac & Exp 14(9):901-907 (Sep 1984).

P4 - Rusty Lusk <lusk@anta.mcs.anl.gov>. A macro/subroutine package for parallel programming, using monitors on shared memory machines, message passing on distributed memory machines. Implemented as a subroutine library for C and Fortran. An enhancement of the "Argonne macros", PARMACS. ftp://info.mcs.anl.gov/pub/p4t1.2.tar.Z info: p4@mcs.anl.gov

PABC - Intermediate language recognized by the Parallel ABC machine, used in the implementation of Concurrent Clean. "The PABC Simulator", E.G.J.M.H. NM-^Zecker, TR 89-19, U Nijmegen 1989.

PACT I - Early system on IBM 701. Listed in CACM 2(5):16 (May 1959). Version: PACT IA for IBM 704.

PACTOLUS - Digital simulation. Sammet 1969, p.627.

Paddle - Language for transformations leading from specification to program. Used in POPART, a grammar-driven programming environment generator. "POPART: Producer of Paddles and Related Tools, System Builders' Manual", D.S. Wile TR RR-82-21, ISI, Marina del Rey, CA 1982.

PAF - Programmation Auomatique des Formules. Dmitri Starynkevitch, 1957. Early language wtih resemblance to FORTRAN II or BASIC. Papers in French journal RAIRO, 1961-1963? Implemented for the S.E.A. CAB500 computer (France).

PAGE - Typesetting language. "Computer Composition Using PAGE-1", J.L. Pierson, Wiley 1972.

PaiLisp - Parallel Lisp built on Scheme. 1986. "A Parallel Lisp Language PaiLisp and its Kernel Specification", T. Ito et al, in Parallel Lisp: Languages and Systems, T. Ito et al eds, LNCS 441, Springer 1989.

PAISley - Bell Labs. Operational specification language. "An Operational Approach to Requirements Specification for Embedded Systems", P. Zave, IEEE Trans Soft Eng SE-8(3):250-269 (May 1982).

PAL -

1. Paradox Application Language. Language for Paradox, Borland's relational database.

2. For the AVANCE distributed persistent OS. "PAL Reference Manual", M. Ahlsen et al, SYSLAB WP-125, Stockholm 1987. "AVANCE: An Object Management System", A. Bjornerstedt et al, SIGPLAN Notices 23(11):206-221 (OOPSLA '88) (Nov 1988).

3. Object-oriented Prolog-like language. "Inheritance Hierarchy Mechanism in Prolog", K. Akama, Proc Logic Prog '86, LNCS 264, Springer 1986, pp.12-21.

4. PDP Assembly Language. Assembly language for PDP-8 and PDP-11.

5. Pedagogic Algorithmic Language. "PAL - A Language for Teaching Programming Linguistics", A. Evans Jr, Proc ACM 23rd Natl Conf, Brandon/Systems Press (1968).

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

Pandora - Parlog extended to allow "don't-know" non-determinism. "Pandora: Non-Deterministic Parallel Logic Programming", R. Bahgat et al, Proc 6th Intl Conf Logic Programming, MIT Press 1989 pp.471-486.

PANON - A family of pattern-directed string processing languages based on generalized Markov algorithms. "String Processing Languages and Generalized Markov Algorithms", A. C. Forino, Proc IFIP Working Conf on Symb Manip Languages, pp.141-206, Amsterdam 1968. PANON-1, based on Simple GMA's and PANON-2 based on Conditional Functional GMA's.

Paragon - Mark Sherman. IEEE Software (Nov 1991). [?]

Paralation - PARALlel reLATION. Sabot, MIT 1987. A framework for parallel programming. A "field" is an array of objects, placed at different sites. A paralation is a group of fields, defining nearness between field elements. Operations can be performed in parallel on every site of a paralation. "The Paralation Model: Architecture Independent Programming", G.W. Sabot <gary@think.com>, MIT Press 1988.

Paralation LISP - Embeds the paralation model in Common LISP. Available from MIT Press, (800)356-0343.

Paralation C - Paralation embedded in C. Under development.

ParAlfl - Hudak, Yale. Parallel functional language, a superset of Alfl. Used by the Alfalfa system on Intel iPSC and Encore Multimax. "Para- Functional Programming", P. Hudak, Computer 19(8):60-70 (Aug 1986). "Alfalfa: Distributed Graph Reduction on a Hypercube Multiprocessor", B. Goldberg & P. Hudak, TR, Yale U, Nov 1986.

Parallaxis - U Stuttgart. Data-parallel (SIMD) language, based on Modula- 2. "User Manual for Parallaxis Version 2.0", T. Braunl, U Stuttgart. Simulator for workstations, Mac and PC. ftp://ftp.informatik.uni-stuttgart.de/pub/parallaxis info: Thomas Braunl <braunl@informatik.uni-stuttgart.de>

Parallel C - Never implemented, but influenced the design of C*.

Parallel FORTH - For the MPP.

Parallel Pascal - Data-parallel language, similar to Actus and Glypnir. "Parallel Pascal: An Extended Pascal for Parallel Computers", A. Reeves, J Parallel Dist Computing 1:64-80 (1984).

Parallel SML - "Parallel SML: A Functional Language and its Implementation in Dactl", Kevin Hammond, Pitman Press 1990.

Parasol - Parallel Systems Object Language. Object-oriented, supports network and parallel computing. Modules, exceptions. "The Parasol Programming Language", R. Jervis <hjervis!rbj@uunet.uu.net>, Dr Dobbs J, Oct 1993, pp.34-41. ftp://ftp.uu.net/languages/parasol/*

Pari - Symbolic math, especially number theory. Version 1.37 for Unix, Macintosh, MS-DOS, OS/2. info: <pari@alioth.greco-prog.fr> ftp://math.ucla.edu/pub/pari/*

Paris - PARallel Instruction Set. Low-level language for the Connection 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://ftp.inria.fr/lang/Parlog.tar.Z 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. "Parlog++: A Parlog Object-Oriented Language", A. Davison, Parlog Group, Imperial College 1988. Sold by PLP Ltd. info: parlog@doc.ic.ac.uk

PARMACS - Argonne Natl Lab. The "Argonne macros". A package of macros written in m4 for portable parallel programming, using monitors on shared memory machines, and message passing on distributed memory machines. E. Lusk et al, "Portable Programs for Parallel Processors", HRW 1987. (See p4.) ftp://netlib.att.com/parmacs

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

Parsley - Barber, Summit Software. A Pascal extension for construction of parse trees. Iterators. "PARSLEY: A New Compiler-Compiler", in Software Development Tools, Techniques and Alternatives, Arlington VA, Jul 1983, pp.232-241.

PARTS - Digitalk. Visual language for OS/2 2.0.

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. Pascal has been extremely influential in programming language design, and has led to a great number of variations and descendants. "The Programming Language Pascal", N. Wirth, Acta Informatica 1:35-63 (1971). "PASCAL User Manual and Report", K. Jensen & N. Wirth, Springer 1975 made significant revisions to the language. ANSI/IEEE770X3.97-1993, very similar to ISO Pascal, but does not include conformant arrays. BS 6192, "Specification for Computer Programming Language Pascal", British Standards Institute 1982. ISO 7185-1983(E). Level 0 and Level 1. Changes from Jensen & Wirth's Pascal include: name equivalence; names must be bound before they are used; loop index must be local to the procedure; formal procedure parameters must include their arguments; conformant array schemas.

Pascal++ - ISO, 1994. An extension of Extended Pascal, inspired by Pascal Plus. Adds concurrency, exceptions and object orientation, including virtual types and multiple inheritance. ftp://ftp.tdr.dk/pub/pplus info: pplus@tfl.dk

Pascal- - Pascal subset used in Brinch Hansen on Pascal Compilers, P. Brinch Hansen, P-H 1985.

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 1984, ISBN 0- 13806828-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. June, 1975. A strict subset of Pascal, omits scalar types, subranges, sets, files, pointers, packed structures, 'with' and 'goto. 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. ftp://csseq.cs.tamu.edu/mcguire/pascal-s

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.

Pasqual - "Pasqual: A Proposed Generalization of Pascal", R.D. Tennent, TR75-32, Queen's U, Canada, 1975.

PASSIM - Simulation language based on Pascal. "PASSIM: A Discrete-Event Simulation Package for Pascal", D.H Uyeno et al, Simulation 35(6):183-190 (Dec 1980).

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

PAT -

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

2. info:oed@watsol.uwaterloo.ca

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. Extensions to C providing a shared memory SIMD model on message passing machines. ftp://karazm.math.uh.edu/pub/Parallel/Tools/pc.1.1.1.tar.Z info: Ridgway Scott <scott@uh.edu>

pC++ - Data parallel extension to C++. Classes and methods for managing distributed collections. "Distributed pC++: Basic Ideas for an Object Parallel Language", F. Bodin et al, Proc Supercomput 91, ACM SIGARCH, pp.273-282. info: Dennis Gannon <gannon@cs.indiana.edu> . 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. PCL 5 Printer Language 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 Conversion Language. Honeywell. Command language for file transfer between I/O devices on the CP-V and CP-6 operating systems.

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

5. Programmable Controller Language. Arthur Duncan and John Hutchinson, GE, 1981. A partial implementation of Ada for numerical control applications. Delivered as part of the GE Mark Century 2000. Perhaps the first known example of the use of Ada's features in an embedded system.

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

PCN - Program Composition Notation. Specification language for parallelism between C and Fortran modules. "Productive Parallel Programming: The PCN Approach", I. Foster et al, Sci Prog 1(1):51-66 (1992). ftp://info.mcs.anl.gov/pub/pcn info: Ian Foster <pcn@mcs.anl.gov>

P-code - The intermediate code produced by the Pascal-P compiler. Assembly language for a hypothetical stack machine, the P-machine, said to have been an imitation of the instruction set for the Burroughs Large System. The term was first used in Algorithms + Data Structures = Programs, N. Wirth, P-H 1976. Byte articles on writing a Pascal Compiler in Northstar BASIC (ca Aug 1978) also used the term. Later used in Apple Pascal, and as the intermediate language in the UCSD P-system. "A Comparison of PASCAL Intermediate Languages", P.A. Nelson, SIGPLAN Notices 14(8):208-213 (Aug 1979). Variants: P2 P-code, P4 P-code, UCSD P-code, LASL P-code. info: USUS, Box 1148, La Jolla, CA 92038

PC-TILES - A visual language. [?]

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

PDIL - Agence d'Informatique, France, 1970's. Language for description of communication protocols, part of the RHIN project. [?]

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 real-time language for programming process control systems, widely used in Europe. Size and complexity exceeds Ada. DIN 66253 Teil 2, "Programmiersprache PEARL", Beuth-Verlag, Nov 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]).

4. Brian Randell, ca 1970. Multilevel language, mentioned in Machine Oriented Higher Level Languages, W. van der Poel, N-H 1974. [?]

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 - Jul 1978, revised Jan 1979. DoD requirements that led to APSE.

PECOS - Constraint-based language, built on the object-oriented module of Le-Lisp. "Pecos Reference Manual", ILOG, 1990. ILOG, 12 av Raspail, BP 7, F94251 Gentilly, France.

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

PEF - PowerPC Executable Format. Binary object code format used by Apple.

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

Pepper - Chris Dollin <kers@hplb.hpl.hp.com>. Variant of POP-11.

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@netlabs.com> An AWK-like interpreted language for scanning text and printing formatted reports. Regular expression primitives, dynamically- scoped variables and functions, extensible runtime libraries, exception handling, packages. Version 5 adds nested data structures and object- oriented features. "Programming Perl", Larry Wall et al, O'Reilly & Assocs. ftp://ftp.netlabs.com/pub/outgoing/perl.4.0 for Unix, MS-DOS, Amiga //ftp.netlabs.com/pub/outgoing/perl5.0/perl5a1.tar.Z for Sparc //rascal.utexas.edu/programming/Perl_402_MPW_CPT_bin for Mac uucp: osu-cis

PFL -

1. Persistent Functional Language. A. Poulovasslis, Kings College and Carol Small, Birkbeck College. A functional database language. "A Functional Programming Approach to Deductive Databases", A. Poulovasslis et al, Proc VLDB '91. info: Alex Poulovasslis <alex@dcs.kcl.ac.uk>

2. Parallel Functional Language. Soeren Holmstrom, Matthews, Chalmers U, early 1980's. The first concurrent extension of ML using CCS. (More recent ones: Poly/ML, Concurrent ML and Facile.) "PFL: A Functional Language for Parallel Programming", S. Holmstrom in Proc Declarative Language Workshop, London 1983, pp.114-139.

Pfortran - Parallel Fortran. U Houston. Extensions to Fortran providing a shared memory SIMD model on message passing machines. Under development. "Pfortran: A Parallel Dialect of Fortran", L.R. Scott, Fortran Forum 11(3):20-31 (Sep 1992). info: Ridgway Scott <scott@uh.edu>

pH - Parallel Haskell. A parallel variant of Haskell incorporating ideas from Id and Sisal. Under development. list: pH@lcs.mit.edu

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.

PICL - Language on Ncube or iPSC machines?

Pictorial Janus - K. Kahn, Xerox. Visual extension of Janus. Requires Strand88 and a PostScript interpreter.

pidgen+ - For Apple ][. Published in DDJ? ftp://wuarchive.wustl.edu/system/apple2/Lang/pidgen/*

PIE - CMU. Similar to Actus.

PIL - Procedure Implementation Language, subsystem 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 ][ 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). IEEE 1154-1991. ftp://locke.ccil.org/pub/esr/pilot-1.6.tar.gz

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 - R.D. Russell, CERN, Nov 1971. High-level machine-oriented language for the PDP-11. Similar to PL360. Written in Fortran IV and cross- compiled on other machines.

PL360 - Structured assembly language for IBM 360 and 370, with a few high- level constructs, syntactically resembles ALGOL 60. Its grammar is defined entirely by operator precedence. "PL/360, A Programming Language for the 360 Computers", N. Wirth, J ACM 15(1):37-74 (Jan 1968).

PL516 - Similar to PL360. "PL 516, An ALGOL-like Assembly Language for the DDP-516", B.A. Wichmann, Natl Phys Lab UK, Report CCU 9, 1970

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 IBM RT and R/6000 development. "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.

PLAGO - A translator-interpreter for a PL/I subset. "PLAGO/360 User's Manual, Poly Inst Brooklyn.

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, implemented for the Z3 computer. 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 - PLAnner-like System Modeled on Actors. Carl Hewitt, 1975. The first actor language. Originally called Planner-73, and implemented in MacLisp. Lisp-like syntax, but with several kinds of parentheses and brackets. "A PLASMA Primer", B. Smith et al, AI Lab Working Paper 92, MIT Oct 1975. "Viewing Control Structures as Patterns of Passing Messages", C. Hewitt, AI Lab Memo 410, MIT 1976.

Plasyd - A structured assemply language, similar to PL360 but with ICL instructions instead of IBM. Used internally by ICL for compiler development for the ICL 1900 series.

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 - Slight subset of PL/I, aimed at 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). Implementated on IBM 370.

PL/I - Programming Language I. George Radin, 1964. Originally 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, no user-defined types. Dynamic arrays. 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, nested procedures and blocks. Procedures may be declared recursive, or grouped into generic families. Controlled variables. 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. PL/I is still widely used, at IBM and elsewhere. The CFS file system used at Argonne to manage terabytes of data is written in PL/I. list: PL1-L@UIUCVMD.BITNET ftp://wuarchive.wustl.edu/mirrors/msdos/pli/runpli1a.arc, PL/I interpreter version: LPI for PC's and Unix, Liant <rcg@lpi.liant.com> (508)626-0006

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

PL/I Subset G - ("General Purpose") The commercial PL/I subset (i.e., what was actually implemented by most vendors). ANS X3.74-1981.

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 rewrite-rule language, optimized 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. Gary Kildall, MAA (later Digital Research) for Intel, 1972. A very low level language incorporating ideas from PL/I, ALGOL and XPL. Integrated macro processor. CP/M was written to support development of the PL/M compiler (not the other way around!). "PL/M-80 Programming Manual", Doc 98-268B, Intel 1976. "PL/M Programmer's Guide", Doc 452161-003, Intel. "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/M-386. ftp://iecc.com/pub/file/plm.shar.gz parser for PL/M-386 //locke.ccil.org/pub/retro/plm2c.tar.gz PL/M-286 to C translator

PL/MP - C.J. Tan, IBM TJWRC, 1978. A microprogramming language resembling a subset of PL/I. "Code Optimization for Microcode Compilers", C.J. Tan, AFIPS Conf Proc 47:649-655 (1978).

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, for the IBM 360 and 370. A machine-oriented language derived from PL/I, permiting inline assembly code and control over register usage. Much of IBM 360 OS/MFT/MVT/SVS/MVS was written in it. Used internally, never released to the public. Documented by various IBM internal ZZ-? publications. "PL/S, Programming Language/Systems", W.R. Brittenham, Proc GUIDE Intl, GUIDE 34, May 14, 1972, pp.540-556. 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.

PLZ - Zilog. A high level language for programming microprocessors. A minimal block structured language, goto-less and only DO-OD loops with exit, repeat [from] or continue [from] placed anywhere in the loop. Record structures. Used by Zilog, and by Olivetti in their S6000 series. "Introduction to Microprocessor Programming Using PLZ", Richard Conway et al, Winthrop Pub 1979. Available as PLZ/SYS. "Report on the Programming Language PLZ/SYS", Tod Snook et al, Springer 1978.

PLZ/ASM - Similar to PLZ, but with assembler instructions instead of statements.

PLUM - U. Maryland. Compiler for a substantial subset of PL/I for the Univac 1100. "PL/I Programming with PLUM", M.V. Zelkowitz, Paladin House, 1978.

Plural EuLisp - EuLisp with parallel extensions. "Collections and Garbage Collection", S.C. Merall et al, in Memory Management - IWMM92, Springer 1992, pp.473-489.

PLUS - Late 60's. Machine-oriented systems language used internally by Univac.

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.

PLZ - [?]

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

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.

PNU-Prolog - A parallel extension of NU-Prolog, implemented as a preproccessor. ftp:munnari.oz.au:/pub/bebop.tar.Z

POCAL - PETRA Operator's CommAnd Language.

POFAC - A subset of Fortran. Mentioned in Machine Oriented Higher Level Languages, W. van der Poel, N-H 1974, p.273. "POFAC Description", R. Haentjens, Report 19, Cenre d'Information, Ecole Royale Militaire, Brussels, 1973.

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. "Subtyping in Ponder", V. Paiva, TR 203, Aug 1990.

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-1 - Package for Online Programming. Edinburgh, 1966. First of the POP family of languages. Used reverse Polish notation. Implemented as a threaded interpreter. EPU-R-17, U Edinburgh (Jul 1966). "POP-1: An Online Language", R. Popplestone, Mach Intell 2, E. Dale et al eds, Oliver and Boyd, Edinburgh 1968.

POP-2 - Robin POPplestone, Edinburgh, 1967. An innovative language incorporating many of Landin's ideas, including streams, closures, and functions as first-class citizens. Algol-like syntax. The first implementation was named Multi-POP, based on a REVPOL function written in POP-1, producing the reverse-polish form as output. "POP-2 Papers", R.M. Burstall et al, Oliver & Boyd 1968. "Programming in POP-2", R.M. Burstall et al, Edinburgh U Press 1971. "POP-2 User's Manual", R. Popplestone, Mach Intell 2, E. Dale et al eds, Oliver and Boyd, Edinburgh 1968.

POP-10 - Julian Davies, 1973. Descendant of POP-2, for the PDP-10. "POP- 10 User's Manual", D.J.M. Davies, CS R25, U West Ontario, 1976.

Pop-11 - Robin POPplestone, 1975. Originally for the PDP-11. In some ways, Pop-11 is like FORTH (stack-oriented, extensible, efficient). It's also like LISP (functional, dynamically typed, interactive, garbage- collected). And the syntax is like Pascal (block-structured). "Programming in POP-11", J. Laventhol <jcl@deshaw.com>, Blackwell 1987. Implementations: AlphaPop for Mac (Computable Functions Inc, 413-253-7637). PopTalk [?] POPLOG (U Sussex) available for VAX/VMS and most workstations. info: Robin Popplestone <pop@cs.umass.edu> (413)253-7637

POP-9X - Proposed BSI standard for Pop-11.

POP++ - An object-oriented 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 (PVM) which underlies the POPLOG interactive environment. POPLOG supports POP-11, LISP, Prolog and ML via shared data structures and incremental compilation. "POPLOG's Two-Level Virtual Machine Support for Interactive Languages", R. Smith et al, in Research Directions in Cognitive Science, v.5 (1992).

PopTalk - A commercial object-oriented derivative of POP, used in the Expert System MUSE. Cambridge Consultants.

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 - "The Portable Standard LISP Users Manual", TR-10, CS Dept, U Utah, Jan 1982. "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. Harvard U. 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.

PRA - PRAgmatics. Language used by COPS for specification of code generators. "Metalanguages of the Compiler Production System COPS", J. Borowiec, in GI Fachgesprach "Compiler-Compiler", ed W. Henhapl, Tech Hochs Darmstadt 1978, pp.122-159.

pre-cc - PREttier Compiler Compiler. ftp:ftp.comlab.ox.ac.uk:Programs

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, implemented as a C++ library. Provides classes for threads, spinlocks, 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. A concurrent object- oriented language with protocols, delegation, persistence and constraints. "PROCOL - A Concurrent Object Language with Protocols, Delegation and Constraints", J. van den Bos et al, Acta Informatica 28:511-538 (1991).

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 - Programming in Graphics. Tomasz Pietrzykowski, Technical U, Halifax. A visual dataflow language. Operation icons are connected by datalinks through which information flows. Supports object orientation. First implemented in Pascal, Acadia U, 1982, later in Prolog at Tech U. Current versions are in C and Prograph. Available for Mac, soon for Windows and Unix. TGS Systems (902) 429-5642. info: <szpak@prograph.com>

PROGRES - PROgrammed Graph REwriting Systems. A. Scheurr, Aachen 1991. A very high level language based on graph grammars. Supports multiple inheritance and types of types, declarative specification of graphical attributes, visual specification of graph rewrite rules, builtin backtracking of graph modifications, Used for implementing abstract data types with graph-like internal structure, as a visual language for the graph-oriented database GRAS, and as a rule-oriented language for prototyping nondeterministically specified data/rule base transformations. A. Scheurr, "Introduction to PROGRES, an Attribute Graph Grammar Based Specification Language", in Proc WG'89 Workshop on Graphtheoretic Concepts in Computer Science", LNCS 411, Springer 1991. info: Andy Scheurr <andy@i3.informatik.rwth-aachen.de> ftp://ftp.informatik.rwth-aachen.de/pub/unix/PROGRES/* for Sun4

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

Prolog - PROgrammation en LOGique. Alain Colmerauer and Phillipe Roussel, U Aix-Marseille 1971. First implemented 1972 in ALGOL-W. Designed originally for natural-language processing. LUSH (or SLD) resolution theorem proving based on the unification algorithm. 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. C-Prolog - F. Pereira <pereira@research.att.com> et al, Jul 1982. An implementation of Prolog in C. No garbage collection. Not PD. SB-Prolog - Stony Brook Prolog. PD Prolog implementation for Unix. ftp://sbcs.sunysb.edu/pub/sbprolog/v3.0 //ftp.cso.uiuc.edu/amiga/fish/f1/ff140 and ff141 Amiga version 2.3.2 LM-Prolog - Lisp Machine Prolog. K. Kahn et al, 1983. "LM-Prolog User Manual", M. Carlsson et al, Uppsala Dec 1983. ftp://sics.se/archive/lm-prolog.tar.Z - Prolog interpreter in Zetalisp Other implementations: 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. //ai.uga.edu/ai.prolog.standard - Draft ISO standard //ftp.inria.fr/INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/wamcc - Prolog to C translator via the WAM

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). Version 1.2 for MS- DOS.

Prolog+ - [?]

Prolog++ - Phil Vasey, Logic Programming Associates. Prolog with object- oriented features added. For MS-DOS and X-windows. "Prolog++: The Power of Object-Oriented and Logic Programming", Christorpher D.S. Moss, A-W 1994, ISBN 0-20-156507-2. 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 - PROgrammer's Microapplication Language. Systems Management Assocs. Interpreted C-like language for MS-DOS, C=64 and Apple ][. Computer Language, Mar 1986, pp.128-134.

PROMELA - Language for building finite state machines. [?] ftp://netlib.att.com

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.

PROOF/L - Language with implicit parallelism. Functional, object-oriented. J Parallel Dist Comp 12:202-212 (1991). Forthcoming TR from RADC. [?]

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.

ProSet - U Essen, 1990. Formerly SETL/E. A 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. "ProSet - A Language for Prototyping with Sets", E.-E. Doberkat et al, in Proc Third Intl Workshop on Rapid System Prototyping, N. Kanopoulos ed, IEEE Comp Soc Press, June 1992, pp.235-248.

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

ProTalk - Quintus. An object-oriented Prolog.

PROTEUS -

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

2. A language for prototyping parallel languages. Interpreter based on ISETL. ftp://particle.cs.unc.edu/proteus

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

PS 440 - K. Lagally, ca 1974. The system implementation language for the Telefunken TR 440 computer.

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 extension of Sather for clustered shared memory model. Threads synchronized by monitor objects ("gates"). Locality assertions and placement operators. "pSather Monitors: Design, Tutorial, Rationale and Implementation", J.A. Feldman et al, TR-91-031 and TR-93-028, ICSI, Berkeley, CA. Implementation on CM-5.

PSETL - Parallel SETL - An extension of SETL for operating specification and simulation, including process management, I/O and interprocess communication proimitives. "Description of Operating Systems Using Very High Level Diction", Gabriel Leshem, NYU 1984.

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

PUMPKIN - "PUMPKIN - (Another) Microprogramming Language", G.R. Lloyd, SIGMICRO Newsletter 5:15-44 (Apr 1974).

PVM - Parallel Virtual Machine. Intermediate language used by the Gambit compiler for Scheme. [Also by Multilisp?]

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 1.0.0. ftp://ftp.cwi.nl/pub/python/python1.0.0.tar.Z list: python-list@cwi.nl

2. Compiler for CMU Common LISP.


 

Email: ron@heuse.com