Intro duction to the Literature

On Design

Gary T Leavens

TR c

Jan revised Jan Feb and July

Keywords programming languages semantics typ e systems p olymorphism typ e theory data abstrac

tion ob jectoriented programming logic programming declarative programming

parallel and distributed programming languages

CR Categories D Programming Techniques ApplicativeFunctional Programming D

Programming Techniques Concurrent Programming D Programming Techniques Ob jectoriented Pro

gramming D Programming Techniques Logic Programming D Software Engineering To ols and

Techniques Mo dules and interfaces D Software Engineering Program Verication D Software

Engineering Program Verication D Programming Languages Formal Denitions and Theory D

Programming Languages Language Classications D Programming Languages Language Constructs

and F eatures F Logics and Meaning of Programs Sp ecifying and verifying and reasoning ab out pro

grams F Logics and Meaning of Programs Semantics of Programming Languages F Logics and

Meaning of Programs Studies of Program Constructs H Database Management LanguagesDatabase

p ersistent programming languages I Articial Intel ligence Programming Languages and Software

c

Gary T Leavens Permission is granted for you to make copies for educational

and scholarly purp oses but not for direct commercial advantage provided this notice app ears on all copies

All other rights reserved

Department of Computer Science

Atanaso Hall

Iowa State University

Ames Iowa USA

Intro duction to the Literature

On Programming Language Design

Gary T Leavens

Department of Computer Science Iowa State University

Ames IA USA

leavenscsiastateedu

July

Abstract

This is an intro duction to the literature on programming language design and related topics It is

intended to cite the most imp ortantwork and to provide a place for students to start a literature search

This is a selective introduction to the literature on programming language design The intended audience

is graduate students b eginning a study of programming languages Instead of trying to b e comprehensive

references are given that are to works of lasting value uptodate surveys or that seem to b e imp ortant

or interesting at the moment Besides references that haveintrinsic interest a few are included b ecause

they are the original sources and are likely to b e referenced by others doing related work eg Chu To

prob e an area more deeply start with the pap ers mentioned follow their references and also use the Science

Citation Index to see what pap ers have referenced the ones mentioned

As a general aid to nding pap ers many older references are reprinted in a collection called TUTORIAL

Programming Language Design edited byAIWasserman and available from the IEEE Computer So ciety

Was Readers with web browsers may also wanttolookatthefollowing web page titled Programming

Language and Compiler Bibliographies

nelanguagebibliographieshtml httpwwwcscmuedumleo

However this tends to have b etter coverage of recenttechnical rep orts and its coverage of older journal

pap ers and other published material is sp otty

Generalities

There are several excellent undergraduate texts on programming languages including PZSeb Set

FWH Hen KamWatGJ MacTen Graduate texts include SK Sta Sch

WinWat Mey Gor

Volume B of the Handbook of Theoretical Computer Science contains many detailed surveys relevantto

formal mo dels and semantics vL

Journals include a substantial coverage of programming languages include ACM Transactions on Pro

gramming Languages and Systems abbreviated TOPLAS ACM Letters on Programming Languages and

Systems abbreviated LOPLAS ACM SIGPLAN Notices Computer Languages Pergamon Press Journal

of Pro gramming Languages Chapman and Hall Information and Computation formerly Information and

Control Academic Press and Acta Informatica SpringerVerlag Applied areas such as sp ecication and

This work was supp orted in part by the National Science Foundation under Grants CCR CCR and

CCR

Naturally these judgements are p ersonal but it is hop ed that authors of that vast bulk of pap ers that are not cited here

will not take oense

verication have their own journals eg IEEE Transactions on Software Engineering Science of Computer

Programming Formal Aspects of Computing Other journals can b e found by scanning the bibliography

Conferences devoted to topics related to programming languages include the Annual ACM Symp osium on

Principles of Programming Languages POPL the ACM SIGPLAN Conference on Programming Language

Design and Implementation PLDI the ACM SIGPLAN International Conference on Functional Program

ming formerly called the Symp osium on LISP and Functional Programming LFP and the ACM SIGPLAN

Symp osium on Principles and Practice of Parallel Programming PPOPP Conferences with a more the

oretical b ent include the IEEE Annual Symp osium on Logic in Computer Science LICS Mathematical

Foundations of Programming Semantics MFPS the Europ ean Symp osium on Programming ESOP the

International Collo quium on Automata Languages and Programming ICALP and the International Sym

p osium on Mathematical Foundations of Computer Science Conferences not sp onsored by the ACM or IEEE

are often available in the SpringerVerlag series of Lecture Notes in Computer Science LNCS The ab ove

list do es not include conferences devoted to software engineering eg TAPSOFT or particular metho ds

eg category theory where other imp ortantwork is found

Both Hoare and Wirth have written guidelines for programming language designers Hoa Wir

Floyds Turing Award lecture discusses his view of programming languages as capturing paradigms of pro

gramming Flo Another viewp oint is that language design should pro ceed from semantic principles

Ten Baca

The truism that bad programs can b e written in any programming language is describ ed as Flons

Axiom in a pap er written at the height of the structured programming controversy Flo Shaw and Wulf

t out that language designers can provide reasonable defaults while still giving programmers the ability p oin

to change them SW

The idea of the expressiveness of a language is just starting to receive satisfactory formal treatments

Fel Mit

Semantics

Some texts that cover many dierent approaches to semantics are NN Win SK

Op erational Semantics

Landins SECD machine is dened in his pap er The Mechanical Evaluation of Expressions Lan see

also Hendersons b o ok Hen

A more systematic style of op erational semantics based on rewrite rules is found in Plotkins structural

op erational semantics Plo Hen Ast

Several metacircular interpreters for variants of LISP are discussed in Steele and Sussmans pap er The

Art of the Interpreter SSa An excellent and more readily accessible discussion is found in Ab elson and

Sussmans b o ok ASS whichusesScheme A more detailed treatmentofinterpreters is found in Kam

FWH See KdRB for an approach using the CLOS metaob ject proto col More recently structuring

mechanisms for semantics based on monads MogWadWadhave lead to more mo dular structuring

of denitional interpreters Ste LHJ

Calculus

A standard reference on Churchs calculus Chu is Barendregts b o ok Bar Informal intro ductions

include Gor For the typ ed calculus see GLT or Mitb

The use of calculus for describing programming languages and as the inspiration for programming

language design has b een investigated by Landin Lan Lan

Denotational Semantics

A short summary of the denotational approach to programming language semantics Sco can b e found in

Tennents article The Denotational Semantics of Programming Languages Ten A survey is found in

Mos

Intro ductory texts include Gor All WatSch An excellent text with mathematical depth

is Gun Standard works on denotational semantics are the b o oks byStoy Sto and Schmidt Sch

b oth of which oer a comprehensive and mathematical treatment Schmidts b o ok Sch can b e consulted

for references to denotational descriptions of real languages

To read some of the most technical works one will need some familiarity with category theory Lan

Gol LS the following are go o d intro ductions that emphasize semantic applications Hoa BWa

ALb PieWal Gun

One can use a typ ed functional programming language such as Standard ML to implement a denotational

semantics Two descriptions of this are WatMA

Action semantics an osho ot of denotational semantics is describ ed in Wat and more fully in Mos

Axiomatic Semantics

An early presentation of axiomatic semantics is Hoares pap er An Axiomatic Basis for Computer Program

ming Hoa

An example of the use of axiomatic semantics to dene a programming language is Hoare and Wirths

axiomatic denition of Pascal HW A b o ok on axiomatic semantics slanted towards programming lan

guage theory as opp osed to verication is Hesselinks monograph Hes Foundational material that may

help in reading this monograph is found in DS whichgoesover notational issues as well as the underlying

mathematics

Avery intro ductory tutorial on verication from the software engineering p ersp ective is LGchapter

eloping a pro of of a program at the same time the program is b eing develop ed has b een The idea of dev

elo quently advo cated by Dijkstra and Gries Dij Gri More recent treatments in this style advocate

a calculational approach Mor Coh GS See Ala for an intro duction that discusses concurrent

and distributed programs

A survey of program verication for imp erative programs is Cou

 

A language designed to supp ort program verication is Euclid LGH PHL Another such lan

guage is Alphard SWL Sha

Algebraic Semantics

Another approach to the semantics of programming languages is the algebraic approach sp ecifying the

b ehavior of programs instead of directly sp ecifying the function computed A b o oklength treatmentis

BHK which uses to ols describ ed in Kli Examples include MA BWP PGM SK Chapter

Typ e Systems

Background

The purp ose of typ e checking is nicely summarized by Morris as a mechanism that allows program mo dules

to protect ob jects from unwanted discovery mo dication and imp ersonation Mor Wegbreits discussion

of the extensible language EL is also go o d background Weg

Polymorphism

An intro ductory survey of mo dern p olymorphic typ e systems and research results is Cardelli and Wegners

pap er On Understanding Typ es Data Abstraction and PolymorphismCW See also Har Car

DT the latter twohav emuch material related to ob jectoriented programming A still more recent

survey is Mitb

Standard references include Girards system F Gir see also Gir GLT and Reynolds indep en

dentwork Rey sometimes called the GirardReynolds second order lamb da calculus or SOL Mo dern

exp ositions are found in MPMH Rey Mitb CarSch

Other kinds of typ e information may b e incorp orated into a typ e system and checked at the same time

as typ es GLLG OG

Typ e Inference

Typ e inference is also sometimes called typ e reconstruction The basic idea is describ ed in Milners pap er

A Theory of Typ e Polymorphism in Programming Mil A more mo dern exp osition of Milners ideas is

Car A topdown variation of the standard algorithm is studied in LY

This typ e inference system is used in the programming language Standard ML GMW MTH

MT Textb o oks ab out programming in Standard ML include Pau Sok Sta Ull ML also

hasavery interesting mo dule system HL Ler Mac

An imp ortant research problem HM has b een extending this typ e system to handle subtyping EST

Nor OSW PTPot

An extension of this typ e system to handle static overloading ad hoc p olymorphism is describ ed

inWB and further rened in Jon NP One waytohandlemutation in this typ e system is de

scrib ed in Har There are also ob jectoriented extensions to ML RV RR FR

The language Poly Matb Matausestyp e inference to infer typ e parameters An algorithm for

inferring op eration parameters is describ ed in CW Other extensions to the basic typ e inference algorithm

are describ ed in OG TJ Bo e Along similar lines one can use a mix of typ e annotations and

inference to allow p olymorphic functions to b e passed as arguments OL

yp e inference problems has also b een an The computational complexityofvarious typ e checking and t

active area of researchWelSch Hen See Tiuforasurvey

Typ e Theory

Typ e theorynarrowly dened uses the to ols of constructive logic to study typ e systems such as the ab ove

Logical inference systems can often b e translated directly into typ e systems due to the Formula as Typ es

notion or the CurryHoward isomorphism HowGLT Chapter Con Thus much research

in typ e theory lies on the b order of mathematics and computer science Another motivationistouse

typ e information to capture b ehavioral sp ecications thus allowing one to reason ab out programs in the

programming language NP Dyb

After reading the references ab ove one will still need an intro duction to some of the more technical asp ects

of typ e theory Go o d b o oklength treatments are Tho and Sch Those wishing a shorter intro duction

might try Rey which is not comprehensive but is tutorial Bac which esp ecially fo cuses on Martin

Lof style typ e theory and Sce which fo cuses more on the calculus of constructions After reading one

of these the studentmaywant to read PDM for some practical hints

In the past some groups working on typ e theory have included deBruijn and others working on AU

TOMATH dB MartinLof s and followers ML ML Bac BCMS Constables group at Cor

nell CZ and Co quand and Huets group CH has also b een inuential for mo dern language design

Some of the latest work on typ e theory uses linear logic Gir instead of a more standard logic A linear

typ e system allows a value to b e used only once Bak Mac SBvEP Kob

There are also connections b etween typ e theory and abstract interpretation Cou PP

Data Abstraction and Typ es

A good intro ductory treatment of the idea of data abstraction is found in LG A more technically oriented

intro duction is CL Another excellent pap er is Co o which distinguishes b etween programming with

abstract data typ es and ob jectoriented programming



CLU is a language designed around data abstraction LSAS LAB LG It also has an interesting

control abstraction and exception handling mechanisms LS

Alphard designed around the same time as CLU and with many of the same goals has surprising

dierences SWL Sha

The language Russell was develop ed at Cornell to investigate howtyp es can b e treated as values There

are many pap ers that have app eared ab out Russell but p erhaps the b est intro duction to the language is the

pap er Data Typ es are Values DD which can b e consulted for other references



Much recentwork involves ob jectoriented languages For example TrellisOwl SCB features strong

typ e checking and a declared ie byname subtyp e relation By contrast many other languages feature



structural subtyping including Emerald BHJL BHJ BH BH Car Two excellentbooks

one by Abadi and Cardelli AC and another by Castagna Cas are a go o d starting p oint in this area

Other theoretical work in this area includes the following BCP Carb CaraAC CMMS

  

CCH CHC Co o BTGS BCM BM Bru BCM PS Bru PT Aba

ACAC EST FM Cardelli has b een one of the most active in this area and most of the

literature will cite one of his pap ers For work that directly b ears on multimetho ds as in CLOS see

Rey Ghea Gheb CGL Cha CGL Cas Cas CasCLLP MC For

adding multimetho ds to conventional languages see BC LM For a tutorial discussion of the problems



of typing binary metho ds see BCC



Programming languages with separate compilation do some of their typ e checking at linktime LAB

Ler Str This interaction of typ es separate compilation linking and mo dules has recently b een

formalized Car GM Some recent theoretical work b een on combining mo dules and ob jectoriented

programming features FFFR MC

Alternative Programming Mo dels

Functional Programming



A survey of functional programming is Hud which also discusses the language Haskell HF HJW

Sno Dav Another survey is Bar There are several go o d b o oks on functional programming

including Hen BW Hen SF Oka For an intro duction that also treats language imple

mentation issues see Pey The articles in Turbmakeaninteresting intro duction to some research

topics

John Backus one of the designers of Fortran prop osed a new language for functional programming

without any names called FP in his Turing Award Lecture Baca A functional programming style using

a more congenial notation based on Landins ISWIM Lanisdevelop ed in Hendersons b o ok Functional

Programming Application and Implementation Hen

One axis of variation in functional languages is b etween the lazy and strict eager languages Wad

ML is eager but Haskell and its predecessor Miranda Tura are lazy Miranda also has an interesting

notion of data abstraction

Recentlyvarious approaches to incorp orating state information in a safe wayinto functional languages

have centered around the use of monads LS MogWadWad There is syntactic supp ort for

monads in Haskell Others are exploring alternatives to monads CH Kag Ode SBvEP Wad

Erlang AWWV is used by Ericsson telephone company in several commercial pro ducts

Logic Programming

Kowalskis pap er Algorithm Logic Con trol is a go o d intro duction to logic programming in an idealized

setting Kow A classic textb o ok on Prolog is the b o ok by Clo cksin and Mellish CM another go o d

text is Sterling and Shapiros SS A short description and evaluation of Prolog is found in the pap er

The Prolog Phenomenon McD A survey is Apt

Several AI languages preceded the development of Prolog for example Planner SWC and Conniver

MS

Muchwork has fo cused on concurrent logic programming languages Sha which are p erhaps more like

CSP than logic programming An evaluation of the FifthGeneration pro ject and some history of concurrent

logic programming languages is found in SW A related language is Andorra Prolog BHW

Work on typ e checking for logic programming languages is surveyed in the collection Pfe The language

Prolog features typ e inference typ e checking and higherorder programming constructs Mila Mila

NM MNPS

Other Declarative Programming Paradigms

Constraintbased languages will probably b e imp ortant in the future An early attempt was emb o died in

Steele and Sussmans work as describ ed in SS An overview is given in Lelers b o ok Lel A survey is



found in vHS The language CLPRisawellknown constraint logic programming language JMSY

Some higherorder equational logic languages based on variations of narrowing Slahave started to

app ear in research languages Mil Pfe Qia

Languages based on term rewriting without logic variables also allow for parallelism A standard example

is OBJ FGJM which also has an interesting mo dule system Gog

Ob jectOriented Programming

A go o d but not very technical intro duction to ob jectoriented concepts is given byCoxCox his b o ok

also discusses the language Ob jectiveC A more technical intro duction is Budds b o ok Budb Meyers

b o ok on Eiel also has more technical meat Mey as well as a fo cus on software engineering concerns

Another fairly complete treatmentisgiven in Goldb erg and Robsons b o ok on Smalltalk GR A

graduatelevel intro duction is BGHS

Descriptions of ob jectoriented design metho ds are found in Bo o WBWW dCLFdCF

dCLF Both Bo o and dCLF havemany references A treatment of ob jectoriented design that

fo cuses more on C is found in Mul See also the survey by WBJ Much recentwork in this area

has fo cused on design patterns Joh GHJV

A collection of pap ers is found in Pet More collections of edited research pap ers are SW KL

The ma jor annual conferences on ob jectoriented programming are the European Conference on Object

OrientedProgramming ECOOP and ObjectOrientedProgramming Systems Languages and Applications

OOPSLA The ECOOP tends to b e more academic while OOPSLA is more practical The OOPSLA

pro ceedings have b een published as sp ecial issues of ACM SIGPLAN Notices Novemb er December

with an addendum in May and Novemb er and Octob er of the following years ECOOP

and OOPSLA had a joint conference in

There are now three journals devoted to ob jectoriented programming The Journal of ObjectOriented

Programming JOOP is the oldest Two more academic journals are Theory and Practice of Object Systems

TAPOS and ObjectOriented Systems

The b est do cumented and the cleanest ob jectoriented programming language is Smalltalk Ing



GR Squeak is a recent dialect IKM

A more widely used language is C ES Go o d intro ductions to C include Str and Lip

Multiple inheritance a feature not found in Smalltalk seems to b e quite useful Snyders analysis of

the design issues involved is insigh tful Sny although his viewp oint is dierent from that of most advo cates

of multiple inheritance

Semantics of inheritance as opp osed to typ e theory or semantics of subtyping app ear in Kam BC

CP See Taiforasurvey on the notion of inheritance

My own views on the sub ject of ob jectoriented sp ecication verication and subtyping can b e found

in LW Leab LW For a contrast see also BWb Ame AvdL Mey MOM Co o

URLW

The concept of delegation is explored in Lie in Actra LTP LaL and in Ungars language

Self US

The contrast b etween message passing and other kinds of p olymorphism is one of binding time Some

relevant semantic mo dels are discussed in Mita and CHC

A dated survey of the literature on ob jectoriented programming is Leaa

Blends of Various Paradigms

Various authors have tried to blend various paradigms Blends of functional and logic programming are

found in GM JG Blends of imp erative and logic programming ideas are found in Buda AS

Goguen and Meseguer even try to unify everything GM

Another approachisamultiparadigm language Leda is one example Bud

Language Case Studies

The following entries are intended to b e selective rather than comprehensive Instead they are biased towards

the most interesting languages and references for the programming language designer Thus although

COBOL ANSwas is the most widely used language on the planet its inuence on programming

language design has b een small While the languages discussed b elow are often obscure they demonstrate

interesting issues in language design

Those interested in history for its own sake or in delving further into early languages should lo ok at

the pro ceedings of the two History of Programming Languages Conferences WexWex The rst

conference covers the earliest languages including COBOL BASIC and many others not discussed b elow

Many of the more established languages have their denitions standardized These are often published by

the American National Standards Institute ANSI the International Standards Organization ISO or the

IEEE

Other resources for case studies include Kamins b o ok Kam which has several case studies put in

a common framework The Grand Tour b o ok by Horowitz has articles ab out sp ecic languages as well

Hor See also the languages mentioned under the various paradigms ab ove

FORTRAN

The rst widely used programming language was FORTRAN See Bacb for a discussion of the history

of FORTRAN what early versions of FORTRAN were like and early references The developmentof

FORTRAN IV is discussed in BH

John Backus who headed the team that develop ed FORTRAN later b ecame dissatised with the inu

ence that FORTRAN had on programming languages Baca

Algol



Among other innovations it intro duced the syntax formalism The Algol rep ort is a true classic NBB

now known as BNF Despite the precise use of English in the rep ort Knuth and others were able to nd

problems with the language denition Knu

Algol

Algol is a direct descendent of Algol It is a more p owerful and more complete language than Algol

for example it has userdened typ es overloading of op erators and mechanisms for parallel pro cessing The

language design is fascinating and bristles with examples of orthogonality one of many terms coined in the

Algol design The revised rep ort is a forbidding do cument which has an innovative formal mechanism for



dening the languages semantics vWMP Because the revised rep ort is dicult to follow Tanenbaums

tutorial is probably a b etter place to start Tan Those seriously interested in Algol will want to consult

LvdM

C

A p opular descendent of Algol is the lowerlevel language C KR C represents the b est of several

languages that supp ort lowlevel programming while maintaining the p ortability of the resulting program

The language has recently b een standardized and incorp orates several changes from its variant C Str

Algol W Pascal Mo dula and Ob eron

Wirth and Hoares language known as Algol W can b e thoughtofasanimproved version of Algol WH

Wirths language Pascal WirJW has b een enormously p opular attracting detractors Haband

defenders LD Pascal is in part a resp onse to the complexity of Algol All this attention has provoked

Wirth to reassessing Pascal Wir and to the design of Mo dula Wir and Ob eron Wir Ob eron



has ob jectoriented features as do es the nonWirth language Mo dula CDJ Nel

Euclid

 

Euclid is an attempt to improveonPascal in a dierent direction PHL LGH Sp ecicallyit

attempts to supp ort program verication

Ada

Ada was designed by rst setting out requirements for the language Hig and then designing and revising



a language to meet those requirements IBH Ada IBFW Recently the language was revised to



add some ob jectoriented features BB Ada

Java

Java GJSAG is an ob jectoriented language with a syntax similar to C However underneath it

is like Lisp as it features garbage collection and implicit p ointers It also has reective features including

dynamic class loaders LB Although it has a strong static and safe DEK NvO typ e system

b ecause it has a universal typ e Object that is a sup ertyp e of almost all the other typ es and an op eration

to dynamically checktyp es instanceofwithchecked typ e casts it can b e programmed as if it were a

dynamicallytyp ed language Several authors have prop osed extensions to add parametric p olymorphism to

the language BOSW CS MBLOW Thob

Lisplike Languages



The original LISP is describ ed in the LISP Programmers Manual MAE The language has since

ev olved in many directions MacLisp is a mainstream dialect that provided many system building to ols

Pit The successor to MacLisp is Common Lisp Ste Ste Unlike most earlier dialects of Lisp

Common Lisp has static scoping

Scheme was the rst dialect of Lisp to emphasize static scoping SSb ASS See also the references



in the Revised report KCE

ZetaLisp as found on Symb olics Lisp Machines includes the inuential Flavors mechanism for ob ject

oriented programming WM SMW Sym The Flavors mechanism evolved into the Common Lisp

Ob ject System Kee Ste Pae The metaob ject system of Common Lisp is describ ed in KdRB

it provides a very exible way to extend the language The ideas in the metaob ject system have led to



Asp ectOriented Programming KLM that is designed to allow the isolation of concerns that would

otherwise b e spread throughout a program

Snob ol SL and Icon

SNOBOL is a language for string pro cessing that is unlikeany other GPP Because it is so unstructured

its designers have tried to place its p owerful features in a more structured framework The language SL

one attempt in this direction is notable for its exible pro cedure mechanism HG Another descendentof

SNOBOL Icon is a more conventional programming language with innovative control structures GG

APL

Another unconventional language is APL IveIve APL has array pro cessing features without equal

bined in interesting ways Ive More references on APL can b e found and generic op erators that can b e com

by consulting the pro ceedings of the yearly International ConferenceonAPLsp onsored bytheACM In

the past this was often just called APL or some suchname

The most recentversion of APL APL is describ ed in Bro BC

Parallel and Distributed Programming Languages

Parallel programming languages are a hot topic of current research and one with considerable overlap with

op erating systems networking and database systems Many of the ab ove areas and articles have implications

for parallel programming This area also has several journals and conferences of its own Some journals that

publish programming language related materials but whichwere not mentioned ab ove include Distributed

Computing IEEE Transactions on Paral lel and Distributed Systems andInternational Journal of Paral lel

Programming See also ACM SIGOPS Operating Systems Review Imp ortant conferences not mentioned

ab ove include the annual ACM Symposium on Operating Systems Principles ACM SIGPLAN Symposium on

Principles PracticeofParal lel Programming and the ACM SIGACTSIGOPS Symposium on Principles

of Distributed Computing

A recent survey is ST An older but still go o d survey on parallel programming language issues is

AS A survey that fo cuses on the Linda mo del app ears in CG See BZ BZ GC for more

work on Linda An older survey that fo cuses on ob jectoriented asp ects is WKH and a more recent

survey BGL also discusses distributed ob jectoriented programs A survey that fo cuses on distributed

programs is Andb Andrews textb o ok on concurrent programming languages also contains material on

program verication as well as some survey material Anda Data ow languages are surveyed in Ack

hniques is Sno A useful collection of pap ers is ST An intro duction to concurrent programming tec

Actor languages are discussed in Agh A concurrentversion of ML is describ ed in Rep Some

asp ects of data parallel programming languages are describ ed in HS Gri The language Jade is

describ ed in RL RSL

Dataparallel languages allow one to split data among pro cessors and to execute the same co de for each

A prominent example is High Performance Fortran Lov The language Orca combines b oth data and

task parallelism HBJ

Distributed programming is a subarea of parallel programming with its own set of problems Mul

A survey app ears in BST which can b e consulted for other references Asurvey with a fo cus on

ob jectorientation is CC Other sources of references are is the collection of reprints AS and the



b o ok GR Of particular interest are the languages Argus LSWei and SR AOC AO The



Amo eba distributed op erating system also has interesting implications for language designers TvRvS

TKB



Mobile co de is a recent researchinterest It was featured in Emerald BHJL BHJ BH BH

and of course is part of Java Some other mobile languages of interest include Obliq Car Mobile UNITY



Rom and Distributed Oz vRHB A recent survey of the eld is Thoa

An older but still heavily used approach to the semantics of concurrent pro cesses is Petri nets Pet

PC A classic reference for the op erational semantics of concurrent pro cesses is Milners b o ok on CCS

Milb Another widely used approach is Hoares CSP Hoa BHR LS Hoa See Hen

BM Milb MPW for more work in the semantics of concurrency and LL and Bro for work

in the semantics of distributed systems

The Future

Abynow a bit dated summary of research directions for language design is given in LLM

Consumers of programming languages programmers and language standardization committees seem to

b e fairly conservative and interested more in p erformance than elegance or expressivepower See Gab

for a p essimistic view of what this means for language design

Acknowledgements

Thanks to my teachers Thanks esp ecially to Lawrence Flon who intro duced me to the literature on

programming languages Thanks also to Barbara Liskov David Giord and William Weihl who help ed

shap e my attitudes towards it Thanks to students of the class Com S at Iowa State Universitywho

have given me feedback on the literature recommendations contained herein

References

Aba Martn Abadi Baby Mo dula and a Theory of Ob jects Journal of Functional Programming

April

AC Rob erto M Amadio and Luca Cardelli Subtyping RecursiveTyp es ACM Transactions on

Programming Languages and Systems September

AC Martn Abadi and Luca Cardelli A Theory of Primitive Ob jects Untyp ed and FirstOrder

Systems In Masami Hagiya and John C Mitchell editors Theoretical Aspects of Computer

Softwarevolume of Lecture Notes in Computer Science pages SpringerVerlag

April

AC Martn Abadi and Luca Cardelli On Subtyping and Matching In Walter Oltho editor

ECOOP ObjectOrientedProgramming th European Conference Aarhus Denmarknum

b er in Lecture Notes in Computer Science pages SpringerVerlag New York NY

AC Martn Abadi and Luca Cardelli ATheory of Objects Monographs in Computer Science

SpringerVerlag New York NY

Ack W B Ack erman Data Flow Languages Computer February

Ada American National Standards Institute Reference Manual for the Ada Programming Language

February ANSIMILSTD A Also published by SpringerVerlag as LNCS

Ada International Organization for Standardization Ada Reference Manual The Language The

Standard Libraries January ANSIISOIEC

AG Ken Arnold and James Gosling The Java Programming LanguageTheJava Series Addison

Wesley Reading MA second edition

Agh Gul Agha The Structure and Semantics of Actor Languages In J W de Bakker W P

de Ro ever and G Rozenb erg editors Foundations of ObjectOrientedLanguages REX

SchoolWorkshop Noordwijkerhout The Netherlands MayJune volume of Lecture

Notes in Computer Science pages SpringerVerlag New York NY

Ala Krzysztof R Apt and ErnstRudiger lderog Intro duction to Program Verication In E J

Neuhold and M Paul editors Formal Description of Programming Concepts IFIP Stateof

theArt Rep orts pages SpringerVerlag New York NY

The MIT Press ALb Andrea Asp erti and Guisepp e Longo Categories Types and Structures

Cambridge Mass

All Lloyd Allison APractical Introduction to Denotational Semantics Cambridge University

Press New York NY

Ame Pierre America Inheritance and Subtyping in a Parallel Ob jectOriented Language In Jean

Bezivin et al editors ECOOP European Conference on ObjectOrientedProgramming

Paris France pages New York NY June SpringerVerlag Lecture Notes in

Computer Science Volume

Anda Gregory R Andrews Concurrent Programming Principles and Practice The Ben

jaminCummings Publishing Company

Andb Gregory R Andrews Paradigms for Pro cess Interaction in Distributed Programs ACM Com

puting Surveys March

ANS American National Standards Institute New York NY American National StandardPro

gramming Language COBOL ANS X

AO Gregory R Andrews and Ronald A Olsson TheSRProgramming Language Concurrency in

Practice The BenjaminCummings Publishing Company Redwood City CA



AOC Gregory R Andrews Ronald A Olsson Michael Con Irving Elsho Kelvin Nilsen Titus

Purdin and Gregg Townsend An Overview of the SR Language and Implementation ACM

Transactions on Programming Languages and Systems January

Apt Krzysztof R Apt Logic Programming In J van Leewen editor Handbook of Theoretical

Computer Sciencevolume B Formal Mo dels and Semantics chapter pages The

MIT Press New York NY

AS Gregory R Andrews and Fred B Schneider Concepts and Notations for Concurrent Program

ming ACM Computing Surveys March

AS Akkihebba L Ananda and Balasubramaniam Srinivasan Distributed Computing Systems Con

cepts and Structures IEEE Computer So ciety Press Reprint Collection IEEE Computer So ci

ety Press Los Alamitos California

AS Krzysztof Apt and Andrea Schaerf AlmaO An Imp erative Language that Supp orts Declara

tive Programming ACM Transactions on Programming Languages and Systems

b er Septem

ASS Harold Ab elson Gerald Jay Sussman and Julie Sussman Structure and Interpretation of

Computer Programs McGraw Hill Cambridge Mass second edition

Ast Edigio Astesiano Inductive and Op erational Semantics In E J Neuhold and M Paul editors

Formal Description of Programming Concepts IFIP StateoftheArt Rep orts pages

SpringerVerlag New York NY

AvdL Pierre America and Frank van der Linden AParallel Ob jectOriented Language with In

heritance and Subtyping ACM SIGPLAN Notices Octob er OOPSLA

ECOOP ProceedingsNMeyrowitz editor

AWWV J L Armstrong M C Williams C Wikstrom and S R Virding Concurrent Programming

in Erlang Prentice Hall nd edition edition

Baca John Backus Can Programming Be Lib erated from the von Neumann Style A Functional

Style and Its Algebra of Programs Communications of the ACM August

Bacb John Backus The History of FORTRAN I II and III ACM SIGPLAN Notices

August

Bac R C Backhouse ConstructiveTyp e Theory An Intro duction In Manfred Broy editor

Constructive Methods in Computing Sciencevolume F of NATO ASI Series pages

SpringerVerlag New York NY

Bak Henry G Baker Lively Linear Lisp Lo ok Ma No Garbage ACM SIGPLAN Notices

August

Bar H P Barendregt The Lambda Calculus Its Syntax and Semantics NorthHolland Publishing

Co New York NY Revised Edition

Bar H P Barendregt Functional Programming and Lamb da Calculus In J van Leewen editor

Handbook of Theoretical Computer Sciencevolume B Formal Mo dels and Semantics chapter

pages The MIT Press New York NY



BB John Barnes Ben Brosgol et al Ada Rationale The Language The Standard Libraries

Technical rep ort Intermetrics Inc Concord Av Cambridge MA January

BC Gilad Bracha and William Co ok MixinBased Inheritance ACM SIGPLAN Notices

Octob er OOPSLA ECOOP Proceedings N Meyrowitz editor

BC J A Brown and H PCrowder APL Getting Started IBM Systems Journal

BC John Boyland and Giusepp e Castagna Parasitic Metho ds Implementation of MultiMetho ds

for Java In ConferenceProceedings of OOPSLA Atlantavolume of ACM SIGPLAN

Notices pages ACM Octob er



BCC Kim Bruce Luca Cardelli Giusepp e Castagna The Hopkins Ob ject Group Gary T Leavens

and Benjamin Pierce On Binary Metho ds Theory and Practice of Object Systems



BCM Kim B Bruce Jon Crabtree Thomas P Murtagh Rob ert van Gent Allyn Dimo ck and Rob ert

Muller Safe and decidable typ e checking in an ob jectoriented language ACM SIGPLAN

Notices Octob er OOPSLA Proceedings Andreas Paep cke editor

BCMS Roland Backhouse Paul Chisholm Grant Malcolm and Erik Saaman DoitYourself Typ e

Formal Aspects of Computing January March Theory

BCP Kim B Bruce Luca Cardelli and Benjamin C Pierce Comparing Ob ject Enco dings In

InvitedlectureatThird Workshop on Foundations of Object OrientedLanguages FOOL

July Available electronically through httpwwwcswilliamsedukimFOOL

Abstractshtml

BGHS Gordon Blair John Gallagher David Hutchison and Doug Shepherd editors ObjectOriented

Languages Systems and Applications Pitman Publishing London ISBN

BGL JeanPierre Briot Rachid Guerraoui and KlausPeter Lohr Concurrency and Distribution in

Ob jectOriented Programming ACM Computing Surveys Septemb er

BH J W Backus and W P Heising FORTRAN IEEE Transactions on Electronic Computers

EC

BH Andrew P Black and Norman C Hutchinson Typ echecking Polymorphism in Emerald Tech

nical Rep ort TR Department of Computer Science The University of Arizona Tucson

AZ Decemb er

BH Andrew P Black and Norman Hutchinson Typ echecking Polymorphism in Emerald Tech

nical Rep ort CRL Revised Digital Equipment Corp oration Cambridge ResearchLab

Cambridge Mass July



BHJ Andrew Black Norman Hutchinson Eric Jul Henry Levy and Larry Carter Distribution

and Abstract Typ es in Emerald IEEE Transactions on Software Engineering SE

January

BHJL Andrew Black Norman Hutchinson Eric Jul and Henry Levy Ob ject Structure in the Emerald

System ACM SIGPLAN Notices Novemb er OOPSLA Conference

Pro ceedings Norman Meyrowitz editor Septemb er Portland Oregon

BHK J A Bergstra J Heering and P Klint Algebraic SpecicationACM Press and Addison

Wesley

BHR S D Bro okes C A R Hoare and A W Rosco e A Theory of Communicating Sequential

Pro cesses Journal of the ACM July

BHW P Brand S Haridi and DHD Warren Andorra Prolog New Generation Computing

BM Bard Blo om and Alb ert R Meyer Exp erimenting with Pro cess Equivalence In M Z

Kwiatkowska M W Shields and R M Thomas editors Semantics for Concurrency Le

icesterWorkshops in Computing pages SpringerVerlag New York NY

BM Kim Bruce and John C Mitchell PER mo dels of subtyping recursivetyp es and higherorder

p olymorphism In ConferenceRecord of the Nineteenth Annual ACM SIGPLANSIGACT

Symposium on Principles of Programming Languages pages ACM January

Bo e HansJ Bo ehm Typ e Inference in the Presence of Typ e Abstraction ACM SIGPLAN No

tices July Pro ceedings of the SIGPLAN Conference on Programming

Language Design and Implementation Portland Oregon June

Bo o Grady Bo o ch ObjectOriented Design With Applications Benjamin Cummings New York

NY

BOSW Gilad Bracha Martin OderskyDavid Stoutamire and Philip Wadler Making the Future

Safe for the Past Adding GenericitytotheJava Programming Language In OOPSLA

ConferenceProceedingsvolume of ACM SIGPLAN Notices pages Octob er

Bro James A Brown APL at a glance Prentice Hall Englewo o d Clis NJ

Bro Manfred BroyFormalization of Distributed Concurrent Reactive Systems In E J Neuhold

and M Paul editors Formal Description of Programming Concepts IFIP StateoftheArt

Rep orts pages SpringerVerlag New York NY

Bru K Bruce Safe Typ e Checking in a Statically Typ ed Ob jectOriented Programming Language

In Proc ACM Symp on Principles of Programming Languages pages

Bru K B Bruce A Paradigmatic Ob jectOriented Programming Language Design Static Typing

and Semantics Journal of Functional Programming April

BST Henri E Bal Jennifer G Steiner and Andrew S Tanenbaum Programming Languages for

Distributed Computing Systems ACM Computing Surveys September

BTGS V BreazuTannen C A Gunter and A Scedrov Computing with Co ercions In Proceedings of

the ACM ConferenceonLISPandFunctional Programming Nice France pages

ACM June

Buda Timothy Budd Blending Imp erative and Relational Programming IEEE Software

Jan uary

Budb Timothy Budd ObjectOrientedProgramming AddisonWesley New York NY

Bud Timothy A Budd Multiparadigm Programming in LEDA AddisonWesleyNewYork NY

BW Richard J Bird and Philip Wadler Introduction to Functional ProgrammingInternational

Series in Computer Science PrenticeHall New York NY

BWa Michael Barr and Charles Wells Category Theory for Computing ScienceInternational Series

in Computer Science PrenticeHall Inc Englewo o d Clis NJ ISBN

BWb Kim B Bruce and Peter Wegner An Algebraic Mo del of Subtyp e and Inheritance In Francois

Bancilhon and Peter Buneman editors Advances in Database Programming Languagespages

AddisonWesley Reading Mass August

BWP Manfred Broy Martin Wirsing and Petter Pepp er On the Algebraic Denition of Programming

Languages ACM Transactions on Programming Languages and Systems January

BZ Paul Butcher and Hussein Zedan LucindaAn Overview ACM SIGPLAN Notices

August

BZ Paul Butcher and Hussein Zedan Lucinda A Polymorphic Linda In J P Banatre and

D Le Metayer editors Research Directions in HighLevel Paral lel Programming Languages

Mont SaintMichel France June Proceedingsvolume of Lecture Notes in Computer

Science pages SpringerVerlag New York NY

Car Luca Cardelli Basic Polymorphic Typ echecking Science of Computer Programming

April

Cara Luca Cardelli A Semantics of Multiple Inheritance Information and Computation

FebruaryMarch A revised version of the pap er that app eared in the

Semantics of Data Typ es Symp osium LNCS pages

Carb Luca Cardelli Structural Subtyping and the Notion of Power Typ e In ConferenceRecordof

the Fifteenth Annual ACM Symposium on Principles of Programming L anguages San Diego

Calif pages ACM January

Car Luca Cardelli Typ eful Programming In E J Neuhold and M Paul editors Formal Descrip

tion of Programming Concepts IFIP StateoftheArt Rep orts pages SpringerVerlag

New York NY

Car Luca Cardelli A language with distributed scop e Computing Systems January

A preliminary version app eared in POPL

Car Luca Cardelli Program Fragments Linking and Mo dularization In ConferenceRecordof

POPL The TH ACM SIGPLANSIGACT Symposium on Principles of Programming

Languages Paris France pages New York NY January ACM

Cas G Castagna A MetaLanguage for Typ ed Ob jectOriented Languages In R K Shyamasundar

editor Foundations of SoftwareTechnology and Theoretical Computer Sciencevolume of

Lecture Notes in Computer Science pages SpringerVerlag Octob er

Cas Giusepp e Castagna Covariance and contravariance conict without a cause ACM Transac

tions on Programming Languages and Systems

ObjectOrientedProgramming A UniedFoundation Progress in Theo Cas Giusepp e Castagna

retical Computer Science Birkhauser Boston

CC Roger S Chin and Samuel T Chanson Distributed Ob jectBased Programming Systems ACM

Computing Surveys March



CCH Peter Canning William Co ok Walter Hill John Mitchell and Walter Oltho FBounded

Polymorphism for Ob jectOriented Programming In Fourth International ConferenceonFunc

tional Programming and Computer ArchitectureACM Septemb er Also technical rep ort

STL from Software Technology Lab oratory HewlettPackard Lab oratories



CDJ Luca Cardelli Jim Donahue Mick Jordan Bill Kalsow and Greg Nelson The Mo dula

Typ e System In ConferenceRecord of the Sixteenth Annual ACM Symposium on Principles

of Programming Languages Austin Texas pages ACM January

CG Nicholas Carriero and David Gelernter HowtoWrite Parallel Programs A Guide for the

Perplexed ACM Computing Surveys September

CGL Giusepp e Castagna Giorgio Ghelli and Giusepp e Longo A Calculus for Overloaded Functions

with Subtyping In ACM Conference on LISP and Functional Programming pages

ACM June To app ear in Information and Computation

CGL Giusepp e Castagna Giorgio Ghelli and Giusepp e Longo A Calculus for Overloaded Functions

with Subtyping Information and Computation February A preliminary

version app eared in ACM Conference on LISP and Functional Programming June pp

CH Thierry Co quand and Gerard Huet The Calculus of Constructions Information and Compu

tation FebruaryMarch

CH ChihPing Chen and Paul Hudak Rolling Your Own Mutable ADT A Connection Between

Linear Typ es and Monads In ConferenceRecordofPOPLTheTHACM SIGPLAN

SIGACT Symposium on Principles of Programming Languages Paris France pages

New York NY January ACM

Cha Craig Chamb ers Ob jectOriented MultiMetho ds in Cecil In Ole Lehrmann Madsen editor

ECOOP European Conference on ObjectOrientedProgramming Utrecht The Nether

landsvolume of Lecture Notes in Computer Science pages SpringerVerlag New

York NY

CHC William R Co ok Walter L Hill and Peter S Canning Inheritance is Not Subtyping In

ConferenceRecor d of the Seventeenth Annual ACM Symposium on Principles of Programming

Languages San Francisco California pages January Also STL Software

Technology Lab oratory HewlettPackard Lab oratories Palo Alto Calif July

Chu A Church The Calculi of Lambda Conversionvolume of Annals of Mathematics Studies

Princeton University Press Princeton NJ Reprinted by Klaus Reprint Corp New

York in

CL Luca Cardelli and Xavier Leroy Abstract Typ es and the Dot Notation Technical Rep ort

Digital Equipment Corp oration Systems ResearchCenter Lytton Avenue Palo Alto CA

March Order from srcrep ortsrc deccom

CL Craig Chamb ers and Gary T Leavens Typ echecking and Mo dules for MultiMetho ds

TOPLAS November

CM W F Clo cksin and C S Mellish Programming in Prolog SpringerVerlag New York NY

CMMS Luca Cardelli Simone Martini John C Mitchell and Andre Scedrov An Extension of System

F with Subtyping Information and Computation Feb

ard Cohen Programming in the s AnIntroduction to the Calculation of Programs Coh Edw

SpringerVerlag New York NY

Con Rob ert L Constable Assigning Meaing to Pro ofs a semantic basis for problem solving envi

ronments In Manfred Broy editor Constructive Methods in Computing Sciencevolume F

of NATO ASI Series pages SpringerVerlag New York NY

Co o W R Co ok A Prop osal for Making Eiel Typ esafe The Computer Journal

August

Co o William R Co ok Ob jectOriented Programming Versus Abstract Data Typ es In J W

de Bakker W PdeRoever and G Rozenb erg editors Foundations of ObjectOrientedLan

guages REX SchoolWorkshop Noordwijkerhout The Netherlands MayJune volume

of Lecture Notes in Computer Science pages SpringerVerlag New York NY

Co o W R Co ok Interfaces and Sp ecications for the Smalltalk Collection Classes ACM

SIGPLAN Notices Octob er OOPSLA Proceedings Andreas Paep cke

editor

Cou Patrick Cousot Metho ds and Logics for Proving Programs In J van Leewen editor Handbook

of Theoretical Computer Sciencevolume B Formal Mo dels and Semantics chapter pages

The MIT Press New York NY

Cou Patrick Cousot Typ es as Abstract Interpretation In ConferenceRecord of POPL The

TH ACM SIGPLANSIGACT Symposium on Principles of Programming Languages Paris

France pages New York NY January ACM

Cox Brad J Cox Object OrientedProgramming an Evolutionary Approach AddisonWesley

Publishing Co Reading Mass

CP William Co ok and Jens Palsb erg A Denotational Semantics of Inheritance and its Correctness

ACM SIGPLAN Notices Octob er OOPSLA Conference Pro ceedings

Norman Meyerowitz editor Octob er New Orleans Louisiana

CS Rob ert Cartwright and Guy L Steele Jr Compatible Genericity with Runtime Typ es for the

Java Programming Language In OOPSLA ConferenceProceedingsvolume of ACM

SIGPLAN Notic es pages Octob er

CW Luca Cardelli and Peter Wegner On Understanding Typ es Data Abstraction and Polymor

phism ACM Computing Surveys December

CW G V Cormack and A K Wright Typ edep endentParameter Inference ACM SIGPLAN

Notices June Pro ceedings of the ACM SIGPLAN Conference on

Programming Language Design and Implementation White Plains NY

CZ Rob ert L Constable and Daniel R Zlatin The Typ e Theory of PLCV ACM Transactions

on Programming Languages and Systems January

Dav AnthonyJTDavie AnIntroduction to Functional Programming Systems Using Haskel l

Cambridge Computer Science Texts Cambridge University Press New York NY

dB N G de Bruijn A Survey of the Pro ject AUTOMATH In J P Seldin and J R Hindley

editors To H B Curry Essays on Combinatory Logic Lambda Calculus and Formalismpages

Academic Press Inc New York NY

dCF Dennis de Champ eaux and Penelop e Faure A Comparative Study of ob jectoriented analysis

metho ds Journal of ObjectOrientedProgramming March

enelop e Faure The Pro cess of Ob jectOriented Design dCLF Dennis de Champ eaux Doug Lea and P

ACM SIGPLAN Notices Octob er OOPSLA Proceedings Andreas

Pap ecke editor

dCLF Dennis de Champ eaux Doug Lea and Penelop e Faure Object Oriented System Development

AddisonWesley Publishing Co Mass

DD James Donahue and Alan Demers Data Typ es are Values ACM Transactions on Programming

Languages and Systems July

DEK Sophia Drossop oulou Susan Eisenbach and Sarfraz Khurshid Is the JavaTyp e System Sound

Theory and Practice of Object Systems

Dij Edsger W Dijkstra A Discipline of ProgrammingPrenticeHall Inc Englewo o d Clis NJ

DS Edsger W Dijkstra and Carel S Scholten Predicate Calculus and program semantics Springer

Verlag NY

DT Scott Danforth and Chris Tomlinson Typ e Theories and Ob jectOriented Programming ACM

Computing Surveys March

Dyb Peter Dyb jer Comparing Integrated and External Logics of Functional Programs Scienceof

Computer Programming June

ES Margaret A Ellis and Bjarne Stroustrup The Annotated C ReferenceManual Addison

Wesley Publishing Co Reading Mass

EST J Eifrig S Smith and V Trifonov Sound p olymorphic typ e inference for ob jects In OOPSLA

ConferenceProceedingsvolume of ACM SIGPLAN Notices pages

Fel Matthias Felleisen On the ExpressivePower of Programming Languages In N Jones editor

ESOP rdEuropean Symposium on Programming Copenhagen Denmarkvolume of

Lecture Notes in Computer Science pages SpringerVerlag New York NY May

FF Rob ert Bruce Findler and Matthew Flatt Mo dular Ob jectOriented Programming with Units

and Mixins In Proceedings of the ACM SIGPLAN International ConferenceonFunctional

Programming ICFP volume of ACM SIGPLAN Notices pages ACM June

GJM Kokichi Futatsugi Joseph A Goguen JeanPierre Jouannaud and Jose Meseguer Principles F

of OBJ In ConferenceRecord of the Twelfth Annual ACM Symposium on Principles of

Programming Languages pages ACM January

Flo Lawrence Flon On Research in Structured Programming ACM SIGPLAN Notices

Octob er

Flo Rob ert W Floyd The Paradigms of Programming Communications of the ACM

August

FM Kathleen Fischer and John C Mitchell On the Relationship Between Classes Ob jects and

Data Abstraction Theory and Practice of Object Systems

FR Kathleen Fischer and John Reppy The design of a class mechanism for Moby ACM SIGPLAN

Notices May Pro ceedings of the ACM SIGPLAN Conference on

Programming Language Design and Implementation PLDI

FWH Daniel PFriedman Mitchell Wand and Christopher T Haynes Essentials of Programming

Languages McGrawHill Bo ok Co New York NY

Gab Richard P Gabriel The end of history and the last programming language Journal of Object

OrientedProgramming July

GC David Gelernter and Nicholas Carriero Co ordination Languages and their Signicance Com

munications of the ACM February

GG Ralph E Griswold and Madge T Griswold The Icon Programming Language PrenticeHall

Inc Englewo o d Clis NJ

Ghea Giorgio Ghelli Mo delling Features of Ob jectOriented Languages in Second Order Functional

Languages with Subtyp es In J W de Bakker W PdeRoever and G Rozenberg ed

itors Foundations of ObjectOrientedLanguages REX SchoolWorkshop Noordwijkerhout

The Netherlands MayJune volume of Lecture Notes in Computer Sciencepages

SpringerVerlag New York NY

Gheb Giorgio Ghelli A Static Typ e System for Message Passing ACM SIGPLAN Notices

Novemb er OOPSLA Conference Pro ceedings Andreas Paep ckeed

itor Octob er Pho enix Arizona

GHJV Erich Gamma Richard Helm Ralph Johnson and John Vlissides Design Patterns Elements

of Reusable ObjectOriented Software AddisonWesley Reading Mass

Gir JeanYves Girard Une extension de linterpretation de Godela lanalyse et son applicationa

lelimination des coupures dans lanalyse et la theorie des typ es In Proceedings nd Scandina

vian Logic Symposium pages Amsterdam NorthHolland

Gir J Y Girard The System F of variable typ es fteen years later Theoretical Computer Science

Gir JeanYves Girard Linear Logic A Survey In F L Bauer W Brauer and H Schwichtenb erg

editors Logic and AlgebraofSpecicationvolume of NATO ASI Series Series F Computer

and System Sciences pages SpringerVerlag New York NY

GJ Carlo Ghezzi and Mehdi Jazayeri Programming Language Concepts E John Wiley and

Sons New York NY

GJS James Gosling Bill Joy and Guy Steele The Java Language SpecicationTheJava Series

AddisonWesley Reading MA

tegrating Functional and Imp erative Programming GL David K Giord and John M Lucassen In

In ACM Conference on LISP and Functional Programming pages ACM August

GLT JeanYves Girard Yves Lafont and Paul Taylor Proofs and TypesCambridge University

Press New York NY

GM Joseph A Goguen and Jose Meseguer Eqlog EqualityTyp es and Generic Mo dules for

Logic Programming In Douglas DeGro ot and Gary Lindstrom editors Functional and Logic

Programming pages PrenticeHall Inc Englewo o d Clis NJ An earlier

version app eared in the Journal of Logic ProgrammingVolume Number Pages

GM Joseph A Goguen and Jose Meseguer Unifying Functional Ob jectOriented and Relational

Programming with Logical Semantics In Bruce Shriver and Peter Wegner editors Research

Directions in ObjectOrientedProgramming pages The MIT Press Cambridge Mass

In GM Neal Glew and Greg Morrisett Typ eSafe Linking and Mo dular Assembly Language

ConferenceRecord of POPL The th ACM SIGPLANSIGACT Symposium on Principles

of Programming Languages San Antonio Texas pages New York NY January

ACM

GMW Michael J Gordon and Christopher PWadsworth Edinburgh LCFvolume

of Lecture Notes in Computer Science SpringerVerlag New York NY The second

author is listed on the cover as Arthur J Milner which is clearly a mistake

Gog Joseph A Goguen Parameterized Programming IEEE Transactions on Software Engineering

SE September

Gol R Goldblatt Topoi The Categorical Analysis of Logic Revised Editionvolume of Studies

in Logic and the Foundations of Mathematics NorthHolland New York NY

Gor Michael J C Gordon The Denotational Description of Programming Languages Springer

Verlag New York NY

Gor Michael J C Gordon Programming Language Theory and its Implementation Prentice Hall

International Series in Computer Science PrenticeHall Inc New York NY

GPP R E Griswold J F Poage and I PPolonsky The SNOBOL Programming Language second

edition PrenticeHall Inc Englewo o d Clis NJ

GR Adele Goldb erg and David Robson Smal ltalk The Language and its Implementation

AddisonWesley Publishing Co Reading Mass

GR Jim Gray and Andreas Reuter Transaction Processing Concepts and Techniques Morgan

Kaufman

Gri David Gries The ScienceofProgramming SpringerVerlag New York NY

Gri Andrew S Grimshaw EasytoUse Ob jectOriented Parallel Pro cessing with Mentat IEEE

Computer May

GS David Gries and Fred B Schneider ALogical Approach to Discrete MathTexts and Mono

graphs in Computer Science SpringerVerlag New York NY

Gun C A Gunter Semantics of Programming Languages Structures and TechniquesFoundations

of Computing The MIT Press Cambridge Mass

Hab A N Hab ermann Critical Comments on the Programming Language Pascal Acta Informatica

Har D M Harland Polymorphic Programming Languages Design and Implementation John

Wiley and Sons New York NY

Har Rob ert Harp er A Simplied AccountofPolymorphic References Information Processing

Letters

a Ben Hassan Henri E Bal and Ceriel J H Jacobs A Task and DataParallel Pro HBJ Saniy

gramming Language Based on Shared Ob jects ACM Transactions on Programming Languages

and Systems Novemb er

Hen Peter Henderson Functional Programming Application and ImplementationInternational

Series in Computer Science PrenticeHall Inc Englewo o d Clis NJ

Hen Martin C Henson Elements of Functional Languages Blackwell Scientic Publications Ox

ford England

Hen Matthew Hennessy Algebraic Theory of Processes The MIT Press Cambridge Mass

Hen Matthew Hennessy The Semantics of Programming Languages an Elementary Introduction

using Structural Operational Semantics John Wiley and Sons New York NY



Hen Fritz Henglein Breaking Through the n Barrier Faster Ob ject Typ e Inference Theory and

PracticeofObject Systems

Hes Wim H Hesselink Programs Recursion and UnboundedChoicevolume of Cambridge

Tr acts in Theoretical Computer ScienceCambridge University Press New York NY

HF Paul Hudak and Joseph H Fasel A Gentle Intro duction to Haskell ACM SIGPLAN Notices

May

HG David R Hanson and Ralph E Griswold The SL Pro cedure Mechanism Communications

of the ACM May

Hig High Order Language Working Group Department of Defense Department of Defense Re

quirements for High Order Computer Programming Languages Steelman Technical rep ort

U S Department of Defense June



HJW Paul Hudak Simon Peyton Jones Philip Wadler et al Rep ort on the Programming Language

Haskell A Nonstrict Purely Functional Language version ACM SIGPLAN Notices

May

HL Rob ert Harp er and Mark Lillibridge A Typ eTheoretic Approach to HigherOrder Mo dules

with Sharing In ConferenceRecord of POPL ST ACM SIGPLANSIGACT Symposium

on Principles of Programming Languages Portland Oregon pages New York NY

January ACM

HM My Hoang and John C Mitchell Lower b ounds on typ e inference with subtyp es In Conference

Record of POPL nd Annual ACM SIGPLANSIGACT Symposium on Principles of

Programming Languages San Francisco Calif pages New York NY January

ACM

Hoa C A R Hoare An Axiomatic Basis for Computer Programming Communications of the

ACM Octob er

Hoa C A R Hoare Communicating Sequential Pro cesses Communications of the ACM

August

Hoa C A R Hoare Hints on Programming Language Design In AnthonyIWasserman editor

Tutorial Programming Language Design pages IEEE Octob er

Hoa C A R Hoare Communicating Sequential Processes PrenticeHall Inc Englewo o d Clis

NJ

Hoa C A R Hoare Notes on an Approach to Category Theory for Computer Scientists In Manfred

Broy editor Constructive Methods in Computing Sciencevolume F of NATO ASI Series

pages SpringerVerlag New York NY

Hor Ellis Horowitz Programming Languages A Grand T our Third Edition Computer Science

Press Ro ckville Maryland

How W A Howard The FormulaeasTyp es notion of Construction In J P Seldin and J R Hind

ley editors To H B Curry Essays on Combinatory Logic Lambda Calculus and Formalism

pages Academic Press Inc New York NY

HS W Daniel Hillis and Guy L Steele Jr Data Parallel Algorithms Communications of the ACM

Decemb er

Hud Paul Hudak Conception Evolution and Application of Functional Programming Languages

ACM Computing Surveys Septemb er

HW C A R Hoare and N Wirth An Axiomatic Denition of the Programming Language Pascal

Acta Informatica

IBFW J Ichbiah J Barnes R Firth and M Wo o dger Rationale for the Design of the Ada Pro

gramming LanguageCambridge University Press New York NY ISBN



IBH J D Ichbiah J G P Barnes J C Heliard B KriegBrueckner O Roubine and B A

Wichmann Reference Manual and Rationale for the Ada Programming Language ACM

SIGPLAN Notices June This version of the language is now obsolete but the

rationale part B is still valuable



uture The IKM Dan Ingalls Ted Kaehler John Maloney Scott Wallace and Alan KayBack to the F

Story of Squeak A Practical SmalltalkWritten in Itself In ConferenceProceedings of OOPSLA

Atlantavolume of ACM SIGPLAN Notices pages ACM Octob er

Ing D H H Ingalls Design Principles Behind Smalltalk BYTE August

Ive K Iverson AProgramming Language John Wiley and Sons New York NY

Ive Kenneth E Iverson Op erators ACM Transactions on Programming Languages and Systems

Octob er

Ive Kenneth E Iverson A Personal view of APL IBM Systems Journal

JG Bharat Jayaraman and Gopal Gupta EqL The Language and Its Implementation IEEE

Transactions on SoftwareEngineering June

JMSY Joxan Jaar Spiro Michaylov Peter J Stuckey and Roland H C Yap The CLPR Language

and System ACM Transactions on Programming Languages and Systems July

Joh Ralph E Johnson Do cumenting Frameworks using Patterns ACM SIGPLAN Notices

Octob er OOPSLA Proceedings Andreas Paep cke editor

Jon Mark P Jones A system of constructor classes overloading and implicit higherorder p olymor

phism Journal of Functional Programming Jan An earlier version app eared

in FPCA

JW Kathleen Jensen and Niklaus Wirth PASCAL User Manual and Report second edition

SpringerVerlag New York NY

Kag Ko ji Kagawa Comp ositional References for Stateful Functional Programming In Proceedings of

the ACM SIGPLAN International ConferenceonFunctional Programming ICFP volume

of ACM SIGPLAN Notices pages ACM August

Samuel Kamin Inheritance in Smalltalk A Denotational Denition In ConferenceRecord Kam

of the Fifteenth Annual ACM Symposium on Principles of Programming Languages San Diego

Calif pages ACM January

Kam Samuel N Kamin Programming Languages An InterpreterBasedApproach AddisonWesley

Publishing Co Reading Mass



KCE Richard Kelsey William Clinger and Jonathan Rees Editors Revised Rep ort on the Algo

rithmic Language Scheme ACM SIGPLAN Notices September

KdRB Gregor Kiczales Jim des Rivieres and Daniel G Bobrow The Art of the Metaobject Protocol

The MIT Press Cambridge Mass

Kee Sonya E Keene ObjectOrientedProgramming in Common Lisp Addison Wesley Reading

Mass

KL Won Kim and FrederickHLochovsky editors ObjectOrientedConcepts Databases and

Applications AddisonWesley Publishing Co Reading Mass

vironment for Generating Programming Environments ACM Transac Kli Paul Klint A MetaEn

tions on Software Engineering and Methodology April



KLM Gregor Kiczales John Lamping Anurag Menhdhekar Chris Maeda Cristina Lop es Jean

Marc Loingtier and John Irwin Asp ectOriented Programming In Mehmet Aksit and

Satoshi Matsuoka editors ECOOP ObjectOrientedProgramming th European Con

ference Jyvaskyla Finlandvolume of Lecture Notes in Computer Science pages

SpringerVerlag New York NY June

Knu Donald E Knuth The Remaining Trouble Sp ots in Algol Communications of the ACM

Octob er

Kob Naoki Kobayashi QuasiLinear Typ es In ConferenceRecord of POPL The th ACM

SIGPLANSIGACT Symposium on Principles of Programming Languages San Antonio Texas

pages New York NY January ACM

Kow Rob ert Kowalski Algorithm Logic Con trol Communications of the ACM

July

KR Brian W Kernighan and Dennis M Ritchie The C Programming Language PrenticeHall

Inc Englewo o d Clis NJ



LAB Barbara Liskov Russell Atkinson Toby Blo om Eliot Moss J Craig Schaert Rob ert Scheier

and Alan Snyder CLU Reference Manualvolume of Lecture Notes in Computer Science

SpringerVerlag New York NY

LaL Wilf R LaLonde Designing Families of Data Typ es Using Exemplars ACM Transactions on

Programming Languages and Systems April

Lan P J Landin The Mechanical Evaluation of Expressions Computer Journal

See also Landins pap er A Lamb daCalculus Approach in Advances in Programming and

NonNumerical ComputationLFox ed Pergamon Press Oxford

Lan P J Landin A Corresp ondence Algol and Churchs Lamb da Notation Communications of

the ACM

Lan P J Landin The Next Programming Languages Communications of the ACM

March

Lan Saunders Mac Lane Categories for the Working Mathematicianvolume of Graduate Texts

in Mathematics SpringerVerlag New York NY

LB Sheng Liang and Gilad Bracha Ownership T yp es for Flexible Alias Protection In OOPSLA

ConferenceProceedingsvolume of ACM SIGPLAN Notices pages ACM

Octob er

LD O Lecarme and P Desjardins Reply to a pap er by A N Hab ermann on the Programming

Language Pascal Acta Informatica An earlier version app eared in ACM

SIGPLAN Notices Octob er

Leaa Gary T Leavens Intro duction to the Literature on Ob jectOriented Design Programming

and Languages OOPS Messenger Octob er

Leab Gary T Leavens Mo dular Sp ecication and Verication of Ob jectOriented Programs IEEE

Software July

Lel Wm Leler Constraint Programming Languages Their Specication and Generation Addison

Wesley Publishing Co Reading Mass

Ler Xavier Leroy Manifest typ es mo dules and separate compilation In ConferenceRecordof

POPL ST ACM SIGPLANSIGACT Symposium on Principles of Programming Lan

guages Portland Oregon pages New York NY January ACM

LG Barbara Liskov and John Guttag Abstraction and Sp ecication in Program Development The

MIT Press Cambridge Mass

LG John M Lucassen and David K Giord Polymorphic Eect Systems In ConferenceRecordof

the Fifteenth Annual ACM Symposium on Principles of Programming Languages San Diego

Calif pages ACM January



LGH R L London J V Guttag J J Horning B W Lampson J G Mitchell and G J Pop ek

Pro of Rules for the Programming Language Euclid Acta Informatica

LHJ Sheng Liang Paul Hudak and Mark Jones Monad Transformers and Mo dular Interpreters

In ConferenceRecord of POPL st ACM SIGPLANSIGACT Symposium on Principles

of Programming Languages San Francisco California pages ACM January

Lie Henry Lieb erman Using Prototypical Ob jects to Implement Shared Behavior in Ob ject Ori

ented Systems ACM SIGPLAN Notices Novemb er OOPSLA Con

ference Pro ceedings Norman Meyrowitz editor September Portland Oregon

Lip Stanley B Lippman C Primer nd Edition AddisonWesley Publishing Co Reading

Mass

LL Leslie Lamp ort and Nancy Lynch Distributed Computing Mo dels and Metho ds In J van

Leewen editor Handbook of Theoretical Computer Sciencevolume B Formal Mo dels and

Semantics chapter pages The MIT Press New York NY

LLM Gary Lindstrom Barbara Liskov and David MacQueen Critical Research Directions in Pro

gramming Languages ACM SIGPLAN Notices November

LM Gary T Leavens and To dd D Millstein Multiple Dispatch as DispatchonTuples In OOPSLA

ConferenceProceedingsvolume of ACM SIGPLAN Notices pages Octob er

Lov D B Loveman High Performance Fortran IEEE Paral lel and DistributedTechnology Systems

and Applications

LP Gary T Leavens and Don Pigozzi ClassBased and Algebraic Mo dels of Ob jects In Rance

Cleaveland Michael Mislove and Philip Mulry editors USBrazil Joint Workshops on the

ctronic Notes in Theoretical Com Formal Foundations of Software Systemsvolumeof Ele

puter Science Elsevier httpwwwelseviernllo cateentcsvolumehtml

LS Barbara H Liskov and Alan Snyder Exception Handling in CLU IEEE Transactions on

Software Engineering SE November

LS Barbara Liskov and Rob ert Scheier Guardians and Actions Linguistic Supp ort for Robust

Distributed Programs ACM Transactions on Programming Languages and Systems

July

LS Leslie Lamp ort and Fred B Schneider The Hoare Logic of CSP and All That ACM

Transactions on Programming Languages and Systems April

LS F W Lawvere and Stephen H Schanuel Conceptual Mathematics a rst introduction to

categories Bualo Workshop Press Bualo NY

LS John Launchbury and Amr Sabry Monadic State Axiomatization and Typ e SafetyInPro

ceedings of the ACM SIGPLAN International ConferenceonFunctional Programming ICFP

volume of A CM SIGPLAN Notices pages ACM August

LSAS Barbara Liskov Alan Snyder Russell Atkinson and Craig Schaert Abstraction Mechanisms

in CLU Communications of the ACM August

LTP Wilf R LaLonde Dave A Thomas and John R Pugh An Exemplar Based Smalltalk ACM

SIGPLAN Notices Novemb er OOPSLA Conference Pro ceedings

Norman Meyrowitz editor September Portland Oregon

LvdM C H Lindsey and S G van der Meulen Informal Introduction to ALGOL revisededition

NorthHolland Publishing Co New York NY

LW GaryTLeavens and William E Weihl Reasoning ab out Ob jectoriented Programs that use

Subtyp es extended abstract In N Meyrowitz editor OOPSLA ECOOP Proceedings

volume of ACM SIGPLAN Notices pages ACM Octob er

LW Barbara Liskov and Jeannette Wing A Behavioral Notion of Subtyping ACM Transactions

on Programming Languages and Systems November

LW Gary T Leavens and William E Weihl Sp ecication and Verication of Ob jectOriented

Programs Using Sup ertyp e Abstraction Acta Informatica November

LY Oukseh Lee and Kwangkeun Yi Pro ofs ab out a Folklore LetPolymorphic Typ e Inference

Algorithm ACM Transactions on Programming Languages and Systems July

MA Ernest G Manes and Michael A Arbib Algebraic Approaches to Program Semantics Springer

Verlag New York NY

MA C McDonald and L Allison Denotational Semantics of a Command Interpreter and their

Implementation in Standard ML The Computer Journal Octob er

Mac David MacQueen Mo dules for Standard ML In Proceedings of the Symposium on LISP and

Functional Programming Austin Texas pages ACM August

Mac Ian Mackie Lilac A Functional Programming Language Based on Linear Logic Journal of

Functional Programming

Mac Bruce J MacLennan Principles of Programming Languages Oxford University Press New

York NY third edition



MAE John McCarthyPaul W Abrahams Daniel J Edwards TimothyPHartandMichael I

Levin LISP Programmers Manual The MIT Press Cambridge Mass

Mata David C J Matthews An overview of the Poly Programming Language In Persistence and

Data Types Papers for the Appin Workshop pages Universities of Glasgow and St

Andrews Departments of Computer Science August Persistent Programming Research

Rep ort

Matb David C J Matthews Poly Manual ACM SIGPLAN Notices Septemb er

MBL Andrew C Myers Joseph A Bank and Barbara Liskov Parameterized Typ es for Java In

ConferenceRecord of POPL The th ACM SIGPLANSIGACT Symposium on Principles

of Programming Languages pages New York NY January ACM

MC To dd Millstein and Craig Chamb ers Mo dular Statically Typ ed Multimetho ds In Rachid

Guerraoui editor ECOOP ObjectOrientedProgramming th European Conference

Lisbon Portugalvolume of Lecture Notes in Computer Science pages Springer

Verlag New York NY June

McD Drew McDermott The Prolog Phenomenon ACM SIGART Newsletter pages July

ber Num

Mey Bertrand Meyer Objectoriented Software Construction Prentice Hall New York NY

Mey Bertrand Meyer Introduction to the Theory of Programming LanguagesInternational Series

in Computer Science Prentice Hall New York NY

MH John C Mitchell and Rob ert Harp er The Essence of ML In ConferenceRecord of the Fifteenth

Annual ACM Symposium on Principles of Programming Languages San Diego Califpages

ACM January

Mil Robin Milner A Theory of Typ e Polymorphism in Programming Journal of Computer and

System Sciences Decemb er

Mila Dale Miller Abstractions in Logic Programs In P Odifreddi editor Logic and Computer

Science pages Academic Press

Milb Robin Milner Communication and ConcurrencyInternational Series in Computer Science

Prentice Hall New York NY

Mila Dale Miller A Logic Programming Language with Lamb daAbstraction Function Variables

and Simple Unication In Peter Schro ederHeister editor Extensions of Logic Programming

International Workshop Tubingen FRG December volume of Lecture Notes in

Computer Science pages SpringerVerlag New York NY

Milb Robin Milner Op erational and Algebraic Semantics of Concurrent Pro cesses In J van Leewen

editor Handbook of Theoretical Computer Sciencevolume B Formal Mo dels and Semantics

chapter pages The MIT Press New York NY

Mil Dale Miller A Logic Programming Language with Lamb daAbstraction Function Variables

and Simple Unication Journal of Logic and Computation

Mita John C Mitchell Toward a typ ed foundation for metho d sp ecialization and inheritance In

ConferenceRecord of the Seventeenth Annual ACM Symposium on Principles of Programming

Languages San Francisco Calif pages ACM January

Mitb John C Mitchell Typ e systems for programming languages In J van Leeuwen editor

Handbook of Theoretical Computer Sciencevolume B Formal Mo dels and Semantics chapter

pages NorthHolland New York NY

Mit John C Mitchell On abstraction and the expressivepower of programming languages In

ConferenceonTheoretical Aspects of Computer Software Sendi Japan Septemb er

ML P MartinLof An Intuitionistic Theory of Typ es PredictivePart In H E Rose and J C

Shep erdson editors Logic Col loquium volume of Studies in Logic pages North

Holland Publishing Co New York NY

ML Per MartinLof Constructive Mathematics and Computer Programming In L J Cohen

et al editors Logic Methodology and Philosophy of ScienceVIProceedings of the Sixth

International Congress Hannover volume of Studies in Logic and the Foundations

of Mathematics pages North Holland Amsterdam

MNPS D Miller G Nadathur F Pfenning and A Scedrov Uniform Pro ofs as a Foundation for

Logic Programming Annals of Pure and AppliedLogic March

Mog Eugenio Moggi An abstract view of programming languages Technical Rep ort ECSLFCS

Lab oratory for Foundations of Computer Science Department of Computer Science

University of Edinburgh Edinburgh EH JZ

MOM Narciso MartiOliet and Jose Meseguer Inclusions and Subtyp es Technical Rep ort SRICSL

Computer Science Lab oratorySRIInternational Ravenswood Ave Menlo Park

Calif Decemb er

Mor James H Morris Jr Protection in Programming Languages Communications of the ACM

January

Mor Carroll Morgan Programming from Specications Second Edition Prentice Hall International

Hempstead UK

Mos Peter D Mosses Denotational Semantics In J van Leewen editor Handbook of Theoretical

Computer Sciencevolume B Formal Mo dels and Semantics chapter pages The

MIT Press New York NY

Mos Peter D Mosses Action Semanticsvolume of Cambridge Tracts in Theoretical Computer

Science Cambridge University Press New York NY

MP John C Mitchell and Gordon D Plotkin Abstract Typ es haveExistential Typ e In Conference

cord of the th Annual ACM Symposium on Principles of Programming Languages New Re

Orleans Louisana pages ACM January

MPW R Milner J Parrow and D Walker A Calculus of Mobile Pro cesses Parts I and I I

Information and Computation

MS Drew V McDermott and Gerald Jay Sussman The CONNIVER Reference Manual AI Memo

a Massachusetts Institute of Technology Articial Intelligence Lab oratoryJanuary

MT Robin Milner and Mads Tofte Commentary on StandardML The MIT Press Cambridge

Mass

MTH Robin Milner Mads Tofte and Rob ert Harp er The Denition of StandardML The MIT

Press Cambridge Mass

Mul Mark Mullin Object OrientedProgram Design With Examples in C AddisonWesley

Publishing Co Reading Mass

Mul Sap e Mullender editor Distributed Systems AddisonWesley New York NY second edition



NBB Peter Naur J W Backus F L Bauer J Green C Katz J McCarthyAJPerlis

H Rutishauser K Samelson B Vauquois J H Wegstein A van Wijngaarden and

M Wo o dger Revised Rep ort on the Algorithmic Language ALGOL Communications

of the ACM January

Nel Greg Nelson Systems Programming with ModulaPrenticeHall

NM G Nadathur and D Miller HigherOrder Horn Clauses Journal of the ACM

Octob er

ormal Introduction John Wiley NN F Nielson and HR Neilson Semantics with Applications A F

and Sons New York NY

Nor Johan Nordlander Pragmatic Subtyping in Polymorphic Languages In Proceedings of the

ACM SIGPLAN International ConferenceonFunctional Programming ICFP volume

of ACM SIGPLAN Notices pages ACM June

NP Bengt Nordstrom and KentPeterson Typ es and Sp ecications In R E A Mason editor

Information Processing pages Elsevier Science Publishers BV NorthHolland

Septemb er Pro ceedings of the IFIP th World Computer Congress Paris France

NP Tobias Nipkov and Christian Prehofer Typ e Reconstruction for Typ e Classes Journal of

Functional Programming April

NvO Tobias Nipkow and David von Oheimb Java is Typ eSafe DenitelyInConference

lig ht

RecordofPOPLTheTHACM SIGPLANSIGACT Symposium on Principles of Pro

gramming Languages San Diego California pages New York NY January

ACM

Ode Martin Odersky Programming with V ariable Functions In Proceedings of the ACM SIGPLAN

International ConferenceonFunctional Programming ICFP volume of ACM SIG

PLAN Notices pages ACM June

OG James William OTo ole and David K Giord Typ e Reconstruction with FirstClass Polymor

phic Values ACM SIGPLAN Notices July Pro ceedings of the SIGPLAN

Conference on Programming Language Design and Implementation Portland Oregon

June

Oka Chris Okasaki Purely Functional Data StructuresCambridge University Press Cambridge

UK

OL Martin Odersky and Konstantin Laufer Putting Typ e Annotations to Work In Conference

Record of POPL The rdACM SIGPLANSIGACT Symposium on Principles of Pro

gramming Languages St PetersbergBeach Florida pages New York NY January

ACM

OSW Martin Odersky Martin Sulzmann and Martin Wehr Typ e Inference with Constrained Typ es

Theory and Practice of Object Systems

OW Martin Odersky and Philip Wadler Pizza into Java Translating Theory into Practice In

ConferenceRecord of POPL The th ACM SIGPLANSIGACT Symposium on Principles

of Programming Languages pages New York NY January ACM

Pae Andreas Paep cke ObjectOrientedProgramming The CLOS Perspective The MIT Press

Pau Laurence C Paulson ML for the Working ProgrammerCambridge UniversityPressNew

York NY

Yiannis E Pap elis and Thomas L Casavant Sp ecication and Analysis of ParallelDistributed PC

Software and Systems by using Petri Nets with Transition Enabling Functions IEEE Trans

actions on Software Engineering March

PDM Benjamin Pierce Scott Dietzen and Spiro Michaylov Programming in HigherOrder Typ ed

Lamb daCalculi Technical Rep ort CMUCS Scho ol of Computer Science Carnegie

Mellon University March

Pet J L Peterson Petri Nets ACM Computing Surveys Septemb er

Pet GeraldEPeterson editor Tutorial ObjectOriented Computing IEEE Computer So ciety

Press Los Angeles Calif Volume concepts volume implementations

Pey S L Peyton Jones The Implementation of Functional Programming Languages PrenticeHall

Englewo o d Clis NJ

Pfe Frank Pfenning Logic Programming in the LF Logical Framework In Gerard Huet and Gordon

Plotkin editors Logical Frameworks pages Cambridge University Press

ogramming Logic Programming Series The MIT Pfe Frank Pfenning editor Types in Logic Pr

Press Cambridge Mass

PGM S Prasad A Giacalone and P Mishra Op erational and algebraic semantics of Facile A

symmetric integration of concurrent and functional programmingInProceedings of the th

International Col loquium on Automata Languages and Programming ICALPvolume

of LNCS pages SpringerVerlag July



PHL G J Pop ek J J Horning B W Lampson J G Mitchell and R L London Notes on the

Design of Euclid ACM SIGPLAN Notices March Pro ceedings of an ACM

Conference on Language Design for Reliable Software Raliegh North Carolina March

Pie Benjamin C Pierce Basic Category Theory for Computer Scientists The MIT Press Cam

bridge Mass

Pit Kent M Pitman The Revised MacLisp Manual Technical Rep ort TR Massachusetts

Institute of Technology Lab oratory for Computer Science May

Plo G D Plotkin LCF Considered as a Programming Language Theoretical Computer Science

Pot Francois Pottier A Framework for Typ e Inference with Subtyping In Proceedings of the ACM

SIGPLAN International ConferenceonFunctional Pr ogramming ICFP volume of

ACM SIGPLAN Notices pages ACM June

PP Jens Palsb erg and Christina Pavlop oulou From PolyvariantFlow Information to Intersection

and Union Typ es In ConferenceRecordofPOPLTheTHACM SIGPLANSIGACT

Symposium on Principles of Programming Languages San Diego California pages

New York NY January ACM

PS Jens Palsb erg and Michael I Schwartzbach ObjectOrientedTypeSystems John Wiley and

sons

PT Benjamin C Pierce and David N Turner Simple Typ eTheoretic Foundations for Ob ject

Oriented Programming Journal of Functional Programming April A

preliminary version app eared in POPL

PT Benjamin C Pierce and David N Turner Lo cal Typ e Inference In ConferenceRecordof

POPL The TH ACM SIGPLANSIGACT Symposium on Principles of Programming

Languages San Diego California pages New York NY January ACM

PZ Terrence W Pratt and Marvin V Zelkowitz Progr amming Languages Design and Implemen

tation PrenticeHall Englewo o d Clis NJ third edition edition

Qia Zhenyu Qian HigherOrder Equational Logic Programming In ConferenceRecordofPOPL

ST ACM SIGPLANSIGACT Symposium on Principles of Programming Languages

Portland Oregon pages New York NY January ACM

Rep John H Repp ey Concurrent Programming with Events The ConcurrentMLManual Techni

cal rep ort ATT Bell Labs February Available byanonymous ftp from researchattcom

Rey J C Reynolds Towards a Theory of Typ e Structure In Programming Symposium Proceedings

Col loque sur la Programmation Paris April volume of Lecture Notes in Computer

Science pages SpringerVerlag New York NY

Rey John C Reynolds Using Category Theory to Design Implicit Conversions and Generic Op

erators In Neil D Jones editor SemanticsDirected Compiler Generation Proceedings of a

Lecture Notes in Computer Science pages Workshop Aarhus Denmarkvolume of

SpringerVerlag January

Rey John C Reynolds Three Approaches to Typ e Structure In Hartmut Ehrig Christiane Floyd

Maurice Nivat and James Thatcher editors Mathematical Foundations of Software Develop

ment Proceedings of the International Joint Conference on Theory and PracticeofSoftware

Development TAPSOFT Berlin Volume Col loquium on Trees in AlgebraandProgram

ming CAAP volume of Lecture Notes in Computer Science pages Springer

Verlag New York NY March

RL Martin C Rinard and Monica S Lam Semantic Foundations of Jade In ConferenceRecord

of the Nineteenth Annual ACM SIGPLANSIGACT Symposium on Principles of Programming

Languages pages ACM January

Rom Peter J McCann GruiaCatalin Roman Comp ositional Programming Abstractions for Mobile

Computing IEEE Transactions on Software Engineering February

RR John Reppy and Jon Riecke Simple Ob jects for Standard ML ACM SIGPLAN Notices

May Pro ceedings of the ACM SIGPLAN Conference on Program

ming Language Design and Implementation PLDI

RSL Martin C Rinard Daniel J Scales and Monica S Lam Jade A High Level Machine Inde

pendent Language for Parallel Programming COMPUTER June

RV Didier Remy and Jerome Vouillon Ob jective ML An Eective Ob jectOriented Extension of

ML Theory and Practice of Object Systems

SBvEP S Smetsers E Barendsen M v Eekelen and R Plasmeijer Guaranteeing Safe Destructive

Up dates Through a Typ e System with Uniqueness Information for Graphs Lecture Notes in

Computer Science



SCB Craig Schaert Topher Co op er Bruce Bullis Mike Kilian and Carrie Wilp olt An Intro

duction to TrellisOwl ACM SIGPLAN Notices Novemb er OOPSLA

Conference Pro ceedings Norman Meyrowitz editor Septemb er Portland Oregon

Sce Andre Scedrov A Guide to Polymorphic Typ es In P Odifreddi editor Logic and Computer

Sciencevolume of APIC Series pages Academic Press New York NY

Sch David A Schmidt Denotational Semantics A Methodology for Language Development Allyn

and Bacon Inc Boston Mass

Sch David A Schmidt The StructureofTypedProgramming LanguagesFoundations of Computing

Series MIT Press Cambridge Mass

Sch Aleksy Schub ert Secondorder unication and typ e inference for Churchstyle p olymorphism

In ConferenceRecordofPOPLTheTHACM SIGPLANSIGACT Symposium on Prin

ciples of Programming Languages San Diego California pages New York NY

January ACM

Sco Dana Scott Lectures on a Mathematical Theory of Computation Technical Monograph PRG

Oxford University Computing Lab oratory Programming Research Group App ears

in Theoretical foundations of programming metho dology lecture notes of an international

summer scho ol directed by FL Bauer EW Dijkstra and CAR Hoare Ridel

Seb Rob ert W Seb esta Concepts of Programming Languages BenjaminCummings Redwood

City Calif third edition

Set Ravi Sethi Programming Languages Concepts and Constructs AddisonWesley Reading

Mass second edition

SF George Springer and Daniel PFriedman Scheme and the Art of Programming McGrawHill

New York NY

Sha Mary Shaw ALPHARD Form and Content SpringerVerlag New York NY

Sha Ehud Shapiro The Family of Concurrent Logic Programming Languages ACM Computing

Surveys September

SK Kenneth Slonneger and Barry L Kurtz Formal Syntax and Semantics of Programming Lan

guages AddisonWesleyNewYork NY

Sla James R Slagle Automated TheoremPro ving for Theories with Simpliers Commutativity

and Asso ciativity Journal of the ACM Octob er

SMW Richard Stallman David Mo on and Daniel Weinreb Lisp Machine Manual sixth edition

Massachusetts Institute of Technology Articial Intelligence Lab oratoryCambridge Mass

June

Sno C R Snow Concurrent Programmingvolume of Cambridge Computer ScienceTexts

Cambridge University Press New York NY

Sny Alan Snyder Encapsulation and Inheritance in Ob jectOriented Programming Languages

ACM SIGPLAN Notices Novemb er OOPSLA Conference Pro ceedings

Norman Meyrowitz editor September Portland Oregon

Sok S Sokolowski Applicative High Order Programming Chapman and Hall Computing Series

Chapman Hall Computing New York NY

SSa Guy Lewis Steele Jr and Gerald Jay Sussman The Art of the Interpreter or The Mo dularity

Complex Parts Zero One and Two AI Memo Massachusetts Institute of Technology

Articial Intelligence Lab oratoryMay

SSb Guy Lewis Steele Jr and Gerald Jay Sussman Revised Rep ort on SCHEME A Dialect of

LISP AI Memo Massachusetts Institute of Technology Articial Intelligence Lab oratory

January

SS G Sussman and G Steele Constraints a Language for Expressing AlmostHierarchical De

scriptions Articial Intel ligence

SS Leon Sterling and Ehud Shapiro The Art of Prolog The MIT Press Cambridge Mass second

edition

ST David B Skillicorn and Domenico Talia Programming Languages for Paral lel ProcessingIEEE

Computer So ciety Press

ST David B Skillicorn and Domenico Talia Mo dels and Languages for Parallel Computation

ACM Computing Surveys June

Sta Ryan Stanisfer ML Primer Prentice Hall EnglewoodClisNJ

Sta Ryan Stanisfer The Study of Programming Languages Prentice Hall Englewo o d Clis NJ

Ste Guy L Steele Jr Common LISP The Language Digital Press Burlington Mass

anguage Digital Press Bedford Mass second edition Ste Guy L Steele Jr Common LISP The L

Ste Guy L Steele Jr Building Interpreters by Comp osing Monads In ConferenceRecordofPOPL

st ACM SIGPLANSIGACT Symposium on Principles of Programming Languages

Portland Oregon pages ACM January

Sto J Stoy Denotational Semantics The ScottStrachey Approach to Programming Language

Theory The MIT Press Cambridge Mass

Str Bjarne Stroustrup The C Programming Language Second Edition AddisonWesley Pub

lishing Co Reading Mass

Str Bjarne Stroustrup The C Programming Language Third Edition AddisonWesley Pub

lishing Co Reading Mass

SW Mary Shaw and William A Wulf Toward Relaxing Assumptions in Languages and Their

Implementations ACM SIGPLAN Notices March

SW Bruce Shriver and Peter Wegner editors Research Directions in ObjectOrientedProgramming

The MIT Press Cambridge Mass

SW Ehud Shapiro and David HD Warren The Fifth Generation Pro ject Personal Persp ectives

Communications of the ACM March

SWC Gerald Jay Sussman Terry Winograd and Eugene Charniak MicroPLANNER Reference

Manual AI Memo A Massachusetts Institute of Technology Articial Intelligence Lab o

ratoryDecemb er

SWL Mary Shaw William A Wulf and R L London Abstraction and Verication in Alphard

Dening and Sp ecifying Iteration and Generators Communications of the ACM

August

Sym Symb olics Inc Lisp Machine ManualCambridge Mass March Eightvolumes

Tai Antero Taivalsaari On the Notion of Inheritance ACM Computing Surveys

Septemb er

Tan Andrew S Tanenbaum A Tutorial on Algol ACM Computing Surveys June

Ten R D Tennent The Denotational Semantics of Programming Languages Communications of

the ACM August

Ten R D Tennent Language Design Metho ds Based on Semantic Principles Acta Informatica

Ten R D Tennent Principles of Programming LanguagesPrenticeHall International Englewood

Clis NJ

Tho Simon Thompson TypeTheory and Functional ProgrammingInternational Computer Science

Series AddisonWesley Publishing Co

Thoa Tommy Thorn Programming Languages for Mobile Co de ACM Computing Surveys

Septemb er

Thob Kresten Krab Thorup GenericityinJava with Virtual Typ es In Mehmet Aksit and

an Con Satoshi Matsuoka editors ECOOP ObjectOrientedProgramming th Europe

ference Jyvaskyla Finlandvolume of Lecture Notes in Computer Science pages

SpringerVerlag New York NY June

Tiu Jerzy Tiuryn Typ e Inference Prob elms A SurveyInBRovan editor Mathematical Foun

dations of Computer Science Banska Bystrica Czechoslovakiavolume of Lecture

Notes in Computer Science pages SpringerVerlag New York NY

TJ JeanPierre Talpin and Pierre Jouvelot The Typ e and Eect Discipline Information and

Computation June

TKB Andrew S Tanenbaum M Frans Kaasho ek and Henri E Bal Parallel Programming Using

Shared Ob jects and Broadcasting Computer August

Tura David A Turner An Overview of Miranda In David A Turner editor Research Topics in

Functional ProgrammingUniversityofTexas at Austin Year of Programming Series pages

AddisonWesley Publishing Co New York NY

Turb David A Turner editor Research Topics in Functional Programming UniversityofTexas at

Austin Year of Programming Series AddisonWesley Publishing Co New York NY



TvRvS Andrew S Tanenbaum Rob ert van Renesse Hans van Staveren Gregory J Sharp Sap e J

Mullender Jack Jansen and Guido van Rossum Exp erience with the Amo eba Distributed

Op erating System Communications of the ACM December

Ull Jery D Ullman Elements of ML Programming Prentice Hall Englewo o d Clis NJ

UR Mark Utting and Ken Robinson Mo dular Reasoning in an Ob jectOriented Renement Cal

culus In R S Bird C C Morgan and J C PWo o dco ck editors Mathematics of Program

Construction Second International Conference Oxford UK JuneJulyvolume of Lec

ture Notes in Computer Science pages SpringerVerlag New York NY

US David Ungar and Randall B Smith Self The Power of Simplicity ACM SIGPLAN Notices

Decemb er OOPSLA Conference Pro ceedings Norman Meyrowitz

editor Octob er Orlando Florida



vHS Pascal van Hentenryck Vijay Saraswat et al Strategic Directions in Ob jectOriented Pro

gramming ACM Computing Surveys Decemb er

vL Jan van Leeuwen Handbook of Theoretical Computer Sciencevolume B Formal Mo dels and

Semantics The MIT Press New York NY



vRHB Peter van RoySeifHaridiPer Brand Gert Smolka Michael Mehl and Ralf Scheidhauer

Mobile Ob jects in Distributed Oz ACM Transactions on Programming Languages and Systems

Septemb er



vWMP A van Wijngaarden B J Mailloux J E L Peck C H Koster M Sintzo C H Lindsey

L G L T Meertens and R G Fisker Revised Rep ort on the Algorithmic Language ALGOL

ACM SIGPLAN Notices This has also b een published by SpringerVerlag

New York N Y and in Acta Informatica volume pages

Wad Philip Wadler The Essence of Functional Programming In ConferenceRecord of the Nineteenth

Annual ACM SIGPLANSIGACT Symposium on Principles of Programming Languagespages

ACM January

Wad Philip Wadler Lazy Versus Strict ACM Computing Surveys June

Wad Philip Wadler How to declare an Imp erative ACM Computing Surveys

Septemb er

Wad Philip Wadler The marriage of eects and monads In Proceedings of the ACM SIGPLAN

International ConferenceonFunctional Programming ICFP volume of ACM SIG

PLAN Notices pages ACM June

Wal R F C Walters Categories and Computer Sciencevolume of Cambridge Computer Science

Texts Cambridge University Press New York NY

Was AnthonyIWasserman TUTORIAL Programming Language Design IEEE Computer So ciety

Press Los Alamitos Calif Initally presented at Compsac The IEEE Computer

So cietys Fourth International Computer Software Applications Conference Octob er

The IEEE catalog numb er is EHO

Wat D A Watt Executable Denotational Semantics Software Practice and Experience

adigms Prentice Hall International Wat David A Watt Programming Language Concepts and Par

Series in Computer Science PrenticeHall New York NY

Wat David A Watt Programming Language Syntax and SemanticsPrentice Hall International

Series in Computer Science PrenticeHall New York NY

WB Philip Wadler and Stephen Blott HowtomakeadhocPolymorphism less ad ho c In Conference

Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages

Austin Texas pages ACM January

WBJ Reb ecca J WirfsBro ck and Ralph E Johnson Surveying Current Research in Ob jectOriented

Design Communications of the ACM September

WBWW Reb ecca WirfsBro ck Brian Wilkerson and Lauren Wiener Designing ObjectOriented Soft

ware PrenticeHall Englewo o d Clis NJ

Weg Ben Wegbreit The TreatmentofDataTyp es in EL Communications of the ACM

May

Wei William E Weihl Linguistic Supp ort for Atomic Data Typ es ACM Transactions on Program

ming Languages and Systems April

Wel J B Wells Typability and Typ e Checking in the SecondOrder Calculus Are Equivalentand

Undecidable In Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science

Paris pages

Wex Richard L Wexelblat editor Preprints History of Programming Languages Conference

Los Angeles CaliforniaACM June ACM SIGPLAN NoticesVolume Number

August

Wex RichardLWexelblat editor ACM SIGPLAN History of Programming Languages Conference

HOPL II Preprints Cambridge MA USAACM March ACM SIGPLAN Notices

Volume Number

WH N Wirth and C A R Hoare A Contribution to the development of ALGOL Communications

of the ACM June

Win Glynn Winskel The Formal Semantics of Programming LanguagesFoundations of Computer

Science Series The MIT Press Cambridge Mass

Wir N Wirth The Programming Language Pascal Acta Informatica

Wir Niklaus Wirth On the Design of Programming Languages In Information Processing

pages New York NY NorthHolland Publishing Co

Wir Niklaus Wirth An Assessment of the Programming Language Pascal IEEE Transactions on

Software Engineering pages June

Wir Niklaus Wirth Programming in Modula rdcorrectededition SpringerVerlag New York

NY

Wir N Wirth Typ e Extensions ACM Transactions on Programming Languages and Systems

April

WKH Barbara B Wyatt Krishna Kavi and Steve Hufnagel Parallelism in Ob jectOriented Lan

guages A Survey IEEE Software November

WM Daniel Weinreb and David Mo on Flavors Message Passing in the Lisp Machine AI Memo

Massachusetts Institute of Technology Articial Intelligence Lab oratoryNovember