% l2h ignore labelsep =
% l2h let bibskip par
% l2h ignore leavevmode
% l2h ignore authoryear 2
\begingroup \labelsep=0pt
\begin{thebibliography}{\hbox to 2em{\hfil}}
\newcommand{\bibrule}{\mbox{\vrule height 2pt depth -1.8pt width 3em}}
\newcommand{\bibskip}{\vskip0pt plus 3\baselineskip\penalty-200\vskip0pt plus
  -3\baselineskip}

\bibskip\bibitem[\protect\authoryear{Abadi and
  Cardelli}{1994}]{Abadi-Cardelli94}
{\leavevmode\kern-2em}Abadi, Mart\'{\i}n and Luca Cardelli. 1994~(April).
\newblock A theory of primitive objects --- untyped and first-order systems.
\newblock In Hagiya, Masami and John~C. Mitchell, editors, {\em Theoretical
  Aspects of Computer Software}, Vol.\ 789 of {\em Lecture Notes in Computer
  Science}, pages\ 296--320. Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Abadi and
  Cardelli}{1995}]{Abadi-Cardelli95}
{\leavevmode\kern-2em}\bibrule. 1995.
\newblock On subtyping and matching.
\newblock In Olthoff, Walter, editor, {\em ECOOP '95: Object-Oriented
  Programming 9th European Conference, Aarhus, Denmark}, number\ 952 in Lecture
  Notes in Computer Science, pages\ 145--167. New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Abadi and
  Cardelli}{1996}]{Abadi-Cardelli96}
{\leavevmode\kern-2em}\bibrule. 1996.
\newblock {\em A Theory of Objects}. Monographs in Computer Science.
\newblock New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Abadi}{1994}]{Abadi94}
{\leavevmode\kern-2em}Abadi, Mart\'{\i}n. 1994~(April).
\newblock Baby modula-3 and a theory of objects.
\newblock {\em Journal of Functional Programming}, 4(2):249--283.

\bibskip\bibitem[\protect\authoryear{Abelson, Sussman, and
  Sussman}{1996}]{Abelson-Sussman-Sussman96}
{\leavevmode\kern-2em}Abelson, Harold, Gerald~Jay Sussman, and Julie Sussman.
  1996.
\newblock {\em Structure and Interpretation of Computer Programs}. second
  edition.
\newblock Cambridge, Mass.: McGraw Hill.

\bibskip\bibitem[\protect\authoryear{Ackerman}{1982}]{Ackerman82}
{\leavevmode\kern-2em}Ackerman, W.~B. 1982~(February).
\newblock Data flow languages.
\newblock {\em Computer}, 15(2):15--25.

\bibskip\bibitem[\protect\authoryear{Ada}{1983}]{Ada83}
{\leavevmode\kern-2em}American National Standards Institute. 1983~(February).
\newblock {\em Reference Manual for the Ada Programming Language}.
\newblock ANSI/MIL-STD 1815A. Also published by Springer-Verlag as LNCS 155.

\bibskip\bibitem[\protect\authoryear{Ada}{1995}]{Ada95b}
{\leavevmode\kern-2em}International Organization for Standardization.
  1995~(January).
\newblock {\em Ada 95 Reference Manual. The Language. The Standard Libraries}.
\newblock ANSI/ISO/IEC-8652:1995.

\bibskip\bibitem[\protect\authoryear{Agha}{1991}]{Agha91}
{\leavevmode\kern-2em}Agha, Gul. 1991.
\newblock The structure and semantics of actor languages.
\newblock In de~Bakker, J.~W., W.~P. de~Roever, and G.~Rozenberg, editors, {\em
  Foundations of Object-Oriented Languages, REX School/Workshop,
  Noordwijkerhout, The Netherlands, May/June 1990}, Vol.\ 489 of {\em Lecture
  Notes in Computer Science}, pages\ 1--59. New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Allison}{1986}]{Allison86}
{\leavevmode\kern-2em}Allison, Lloyd. 1986.
\newblock {\em A Practical Introduction to Denotational Semantics}.
\newblock New York, NY: Cambridge University Press.

\bibskip\bibitem[\protect\authoryear{Amadio and
  Cardelli}{1993}]{Amadio-Cardelli93}
{\leavevmode\kern-2em}Amadio, Roberto~M. and Luca Cardelli. 1993~(September).
\newblock Subtyping recursive types.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  15(4):575--631.

\bibskip\bibitem[\protect\authoryear{America and van~der
  Linden}{1990}]{America-Linden90}
{\leavevmode\kern-2em}America, Pierre and Frank van~der Linden. 1990~(October).
\newblock A parallel object-oriented language with inheritance and subtyping.
\newblock {\em ACM SIGPLAN Notices}, 25(10):161--168.
\newblock {\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).

\bibskip\bibitem[\protect\authoryear{America}{1987}]{America87}
{\leavevmode\kern-2em}America, Pierre. 1987~(June).
\newblock Inheritance and subtyping in a parallel object-oriented language.
\newblock In Bezivin, Jean et~al., editors, {\em ECOOP '87, European Conference
  on Object-Oriented Programming, Paris, France}, pages\ 234--242, New York,
  NY.
\newblock Lecture Notes in Computer Science, Volume 276.

\bibskip\bibitem[\protect\authoryear{Ananda and
  Srinivasan}{1991}]{Ananda-Srinivasan91}
{\leavevmode\kern-2em}Ananda, Akkihebba~L. and Balasubramaniam Srinivasan.
  1991.
\newblock {\em Distributed Computing Systems: Concepts and Structures}. IEEE
  Computer Society Press Reprint Collection.
\newblock Los Alamitos, California: IEEE Computer Society Press.

\bibskip\bibitem[\protect\authoryear{Andrews and
  Olsson}{1993}]{Andrews-Olsson93}
{\leavevmode\kern-2em}Andrews, Gregory~R. and Ronald~A. Olsson. 1993.
\newblock {\em The SR Programming Language: Concurrency in Practice}.
\newblock Redwood City, CA: The Benjamin/Cummings Publishing Company.

\bibskip\bibitem[\protect\authoryear{Andrews and
  Schneider}{1983}]{Andrews-Schneider83}
{\leavevmode\kern-2em}Andrews, Gregory~R. and Fred~B. Schneider. 1983~(March).
\newblock Concepts and notations for concurrent programming.
\newblock {\em ACM Computing Surveys}, 15(1):3--43.

\bibskip\bibitem[\protect\authoryear{Andrews \bgroup \em et~al.\egroup
  }{1988}]{Andrews-etal88}
{\leavevmode\kern-2em}Andrews, Gregory~R., Ronald~A. Olsson, Michael Coffin,
  Irving Elshoff, Kelvin Nilsen, Titus Purdin, and Gregg Townsend.
  1988~(January).
\newblock An overview of the sr language and implementation.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  10(1):51--86.

\bibskip\bibitem[\protect\authoryear{Andrews}{1991a}]{Andrews91b}
{\leavevmode\kern-2em}Andrews, Gregory~R. 1991a.
\newblock {\em Concurrent Programming: Principles and Practice}.
\newblock The Benjamin/Cummings Publishing Company.

\bibskip\bibitem[\protect\authoryear{Andrews}{1991b}]{Andrews91a}
{\leavevmode\kern-2em}\bibrule. 1991b~(March).
\newblock Paradigms for process interaction in distributed programs.
\newblock {\em ACM Computing Surveys}, 23(1):49--90.

\bibskip\bibitem[\protect\authoryear{ANSI}{1974}]{ANSI74}
{\leavevmode\kern-2em}American National Standards Institute. 1974.
\newblock {\em American National Standard Programming Language COBOL}.
\newblock New York, NY.
\newblock ANS X3.23-1974.

\bibskip\bibitem[\protect\authoryear{Apt and 0lderog}{1991}]{Apt-Olderog91}
{\leavevmode\kern-2em}Apt, Krzysztof~R. and Ernst-Rudiger 0lderog. 1991.
\newblock Introduction to program verification.
\newblock In Neuhold, E.~J. and M.~Paul, editors, {\em Formal Description of
  Programming Concepts}, IFIP State-of-the-Art Reports, pages\ 363--429. New
  York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Apt and Schaerf}{1998}]{Apt-etal98}
{\leavevmode\kern-2em}Apt, Krzysztof and Andrea Schaerf. 1998~(September).
\newblock {Alma-O}: An imperative language that supports declarative
  programming.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  20(5):1014--1066.

\bibskip\bibitem[\protect\authoryear{Apt}{1990}]{Apt90}
{\leavevmode\kern-2em}Apt, Krzysztof~R. 1990.
\newblock Logic programming.
\newblock In van Leewen, J., editor, {\em Handbook of Theoretical Computer
  Science}, Vol.\ B: Formal Models and Semantics, Chapter~10, pages\ 493--574.
  New York, NY: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Armstrong \bgroup \em et~al.\egroup
  }{1995}]{Armstrong-etal95}
{\leavevmode\kern-2em}Armstrong, J.~L., M.~C. Williams, C.~Wikstr\"{o}m, and
  S.~R. Virding. 1995.
\newblock {\em Concurrent Programming in Erlang}. 2nd edition edition.
\newblock Prentice Hall.

\bibskip\bibitem[\protect\authoryear{Arnold and
  Gosling}{1998}]{Arnold-Gosling98}
{\leavevmode\kern-2em}Arnold, Ken and James Gosling. 1998.
\newblock {\em The {Java} Programming Language}. The Java Series. Second
  edition.
\newblock Reading, MA: Ad{\-d}i{\-s}on-Wes{\-l}ey.

\bibskip\bibitem[\protect\authoryear{Asperti and Longo}{1991}]{Asperti-Longo91}
{\leavevmode\kern-2em}Asperti, Andrea and Guiseppe Longo. 1991.
\newblock {\em Categories, Types and Structures}.
\newblock Cambridge, Mass: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Astesiano}{1991}]{Astesiano91}
{\leavevmode\kern-2em}Astesiano, Edigio. 1991.
\newblock Inductive and operational semantics.
\newblock In Neuhold, E.~J. and M.~Paul, editors, {\em Formal Description of
  Programming Concepts}, IFIP State-of-the-Art Reports, pages\ 51--136. New
  York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Backhouse \bgroup \em et~al.\egroup
  }{1989}]{Backhouse-etal89}
{\leavevmode\kern-2em}Backhouse, Roland, Paul Chisholm, Grant Malcolm, and Erik
  Saaman. 1989~(January -- March).
\newblock Do-it-yourself type theory.
\newblock {\em Formal Aspects of Computing}, 1(1):19--84.

\bibskip\bibitem[\protect\authoryear{Backhouse}{1989}]{Backhouse89}
{\leavevmode\kern-2em}Backhouse, R.~C. 1989.
\newblock Constructive type theory -- an introduction.
\newblock In Broy, Manfred, editor, {\em Constructive Methods in Computing
  Science}, Vol.\ F55 of {\em NATO ASI Series}, pages\ 9--60. New York, NY:
  Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Backus and
  Heising}{1964}]{Backus-Heising64}
{\leavevmode\kern-2em}Backus, J.~W. and W.~P. Heising. 1964.
\newblock {FORTRAN}.
\newblock {\em IEEE Transactions on Electronic Computers}, EC-13(4):382--385.

\bibskip\bibitem[\protect\authoryear{Backus}{1978a}]{Backus78}
{\leavevmode\kern-2em}Backus, John. 1978a~(August).
\newblock Can programming be liberated from the von neumann style? a functional
  style and its algebra of programs.
\newblock {\em Communications of the ACM}, 21(8):613--641.

\bibskip\bibitem[\protect\authoryear{Backus}{1978b}]{Backus78b}
{\leavevmode\kern-2em}\bibrule. 1978b~(August).
\newblock The history of {FORTRAN I, II}, and {III}.
\newblock {\em ACM SIGPLAN Notices}, 13(8):165--180.

\bibskip\bibitem[\protect\authoryear{Baker}{1991}]{Baker92}
{\leavevmode\kern-2em}Baker, Henry~G. 1991~(August).
\newblock Lively linear lisp --- `look ma, no garbage!'.
\newblock {\em ACM SIGPLAN Notices}, 27(8):89--98.

\bibskip\bibitem[\protect\authoryear{Bal, Steiner, and
  Tanenbaum}{1989}]{Bal-Steiner-Tanenbaum89}
{\leavevmode\kern-2em}Bal, Henri~E., Jennifer~G. Steiner, and Andrew~S.
  Tanenbaum. 1989~(September).
\newblock Programming languages for distributed computing systems.
\newblock {\em ACM Computing Surveys}, 21(3):261--322.

\bibskip\bibitem[\protect\authoryear{Barendregt}{1984}]{Barendregt84}
{\leavevmode\kern-2em}Barendregt, H.~P. 1984.
\newblock {\em The Lambda Calculus: Its Syntax and Semantics}.
\newblock New York, NY: North-Holland Publishing Co.
\newblock Revised Edition.

\bibskip\bibitem[\protect\authoryear{Barendregt}{1990}]{Barendregt90b}
{\leavevmode\kern-2em}\bibrule. 1990.
\newblock Functional programming and lambda calculus.
\newblock In van Leewen, J., editor, {\em Handbook of Theoretical Computer
  Science}, Vol.\ B: Formal Models and Semantics, Chapter~7, pages\ 321--363.
  New York, NY: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Barnes, Brosgol, et~al.}{1995}]{Ada95a}
{\leavevmode\kern-2em}Barnes, John, Ben Brosgol, et~al. 1995~(January).
\newblock Ada 95 rationale. the language. the standard libraries.
\newblock Technical report, Intermetrics Inc., 733 Concord Av, Cambridge, MA
  02138.

\bibskip\bibitem[\protect\authoryear{Barr and Wells}{1990}]{Barr-Wells90}
{\leavevmode\kern-2em}Barr, Michael and Charles Wells. 1990.
\newblock {\em Category Theory for Computing Science}. International Series in
  Computer Science.
\newblock Englewood Cliffs, N.J.: Prentice-Hall, Inc.
\newblock ISBN 0-13-120486-6.

\bibskip\bibitem[\protect\authoryear{Bergstra, Heering, and
  Klint}{1989}]{Bergstra-Heering-Klint89}
{\leavevmode\kern-2em}Bergstra, J.~A., J.~Heering, and P.~Klint. 1989.
\newblock {\em Algebraic Specification}.
\newblock ACM Press and Addison-Wesley.

\bibskip\bibitem[\protect\authoryear{Bird and Wadler}{1988}]{Bird-Wadler88}
{\leavevmode\kern-2em}Bird, Richard~J. and Philip Wadler. 1988.
\newblock {\em Introduction to Functional Programming}. International Series in
  Computer Science.
\newblock New York, NY: Prentice-Hall.

\bibskip\bibitem[\protect\authoryear{Black and
  Hutchinson}{1990}]{Black-Hutchinson90}
{\leavevmode\kern-2em}Black, Andrew~P. and Norman~C. Hutchinson.
  1990~(December).
\newblock Typechecking polymorphism in emerald.
\newblock Technical Report\ TR 90-34, Department of Computer Science; The
  University of Arizona, Tucson, AZ 85721.

\bibskip\bibitem[\protect\authoryear{Black and
  Hutchinson}{1991}]{Black-Hutchinson91}
{\leavevmode\kern-2em}Black, Andrew~P. and Norman Hutchinson. 1991~(July).
\newblock Typechecking polymorphism in emerald.
\newblock Technical Report\ CRL 91/1 (Revised), Digital Equipment Corporation,
  Cambridge Research Lab, Cambridge, Mass.

\bibskip\bibitem[\protect\authoryear{Black \bgroup \em et~al.\egroup
  }{1986}]{Black-etal86}
{\leavevmode\kern-2em}Black, Andrew, Norman Hutchinson, Eric Jul, and Henry
  Levy. 1986~(November).
\newblock Object structure in the {E}merald system.
\newblock {\em ACM SIGPLAN Notices}, 21(11):78--86.
\newblock OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor),
  September 1986, Portland, Oregon.

\bibskip\bibitem[\protect\authoryear{Black \bgroup \em et~al.\egroup
  }{1987}]{Black-etal87}
{\leavevmode\kern-2em}Black, Andrew, Norman Hutchinson, Eric Jul, Henry Levy,
  and Larry Carter. 1987~(January).
\newblock Distribution and abstract types in emerald.
\newblock {\em IEEE Transactions on Software Engineering}, SE-13(1):65--76.

\bibskip\bibitem[\protect\authoryear{Blair \bgroup \em et~al.\egroup
  }{1991}]{Blair-etal91}
{\leavevmode\kern-2em}Blair, Gordon, John Gallagher, David Hutchison, and Doug
  Shepherd, editors. 1991.
\newblock {\em Object-Oriented Languages, Systems and Applications}.
\newblock London: Pitman Publishing.
\newblock ISBN 0-273-03132-5.

\bibskip\bibitem[\protect\authoryear{Bloom and Meyer}{1990}]{Bloom-Meyer90}
{\leavevmode\kern-2em}Bloom, Bard and Albert~R. Meyer. 1990.
\newblock Experimenting with process equivalence.
\newblock In Kwiatkowska, M.~Z., M.~W. Shields, and R.~M. Thomas, editors, {\em
  Semantics for Concurrency, Leicester}, Workshops in Computing, pages\ 81--95.
  New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Boehm}{1989}]{Boehm89}
{\leavevmode\kern-2em}Boehm, Hans-J. 1989~(July).
\newblock Type inference in the presence of type abstraction.
\newblock {\em ACM SIGPLAN Notices}, 24(7):192--206.
\newblock Proceedings of the SIGPLAN '89 Conference on Programming Language
  Design and Implementation, Portland, Oregon, June.

\bibskip\bibitem[\protect\authoryear{Booch}{1991}]{Booch91}
{\leavevmode\kern-2em}Booch, Grady. 1991.
\newblock {\em Object-Oriented Design: With Applications}.
\newblock New York, NY: Benjamin Cummings.

\bibskip\bibitem[\protect\authoryear{Boyland and
  Castagna}{1997}]{Boyland-Castagna97}
{\leavevmode\kern-2em}Boyland, John and Giuseppe Castagna. 1997~(October).
\newblock Parasitic methods: Implementation of multi-methods for {Java}.
\newblock In {\em Conference Proceedings of OOPSLA '97, Atlanta}, Vol.\ 32(10)
  of {\em ACM SIGPLAN Notices}, pages\ 66--76. ACM.

\bibskip\bibitem[\protect\authoryear{Bracha and Cook}{1990}]{Bracha-Cook90}
{\leavevmode\kern-2em}Bracha, Gilad and William Cook. 1990~(October).
\newblock Mixin-based inheritance.
\newblock {\em ACM SIGPLAN Notices}, 25(10):303--311.
\newblock {\em OOPSLA ECOOP '90 Proceedings}, N. Meyrowitz (editor).

\bibskip\bibitem[\protect\authoryear{Bracha \bgroup \em et~al.\egroup
  }{1998}]{Bracha-etal98}
{\leavevmode\kern-2em}Bracha, Gilad, Martin Odersky, David Stoutamire, and
  Philip Wadler. 1998~(October).
\newblock Making the future safe for the past: Adding genericity to the {Java}
  programming language.
\newblock In {\em OOPSLA '98 Conference Proceedings}, Vol.\ 33(10) of {\em ACM
  SIGPLAN Notices}, pages\ 183--200.

\bibskip\bibitem[\protect\authoryear{Brand, Haridi, and
  Warren}{1989}]{Brand-Haridi-Warren89}
{\leavevmode\kern-2em}Brand, P., S.~Haridi, and D.H.D. Warren. 1989.
\newblock Andorra prolog.
\newblock {\em New Generation Computing}, 7(2-3):109--129.

\bibskip\bibitem[\protect\authoryear{Breazu-Tannen, Gunter, and
  Scedrov}{1990}]{Breazu-Tannen-Gunter-Scedrov90}
{\leavevmode\kern-2em}Breazu-Tannen, V., C.~A. Gunter, and A.~Scedrov.
  1990~(June).
\newblock Computing with coercions.
\newblock In {\em Proceedings of the 1990 ACM Conference on LISP and Functional
  Programming, Nice, France}, pages\ 44--60. ACM.

\bibskip\bibitem[\protect\authoryear{Briot, Guerraoui, and
  Lohr}{1998}]{Briot-Guerraoui-Lohr98}
{\leavevmode\kern-2em}Briot, Jean-Pierre, Rachid Guerraoui, and Klaus-Peter
  Lohr. 1998~(September).
\newblock Concurrency and distribution in object-oriented programming.
\newblock {\em ACM Computing Surveys}, 30(3):291--329.

\bibskip\bibitem[\protect\authoryear{Brookes, Hoare, and
  Roscoe}{1984}]{Brookes-Hoare-Roscoe84}
{\leavevmode\kern-2em}Brookes, S.~D., C.~A.~R. Hoare, and A.~W. Roscoe.
  1984~(July).
\newblock A theory of communicating sequential processes.
\newblock {\em Journal of the ACM}, 31(3):560--599.

\bibskip\bibitem[\protect\authoryear{Brown and Crowder}{1991}]{Brown-Crowder91}
{\leavevmode\kern-2em}Brown, J.~A. and H.~P. Crowder. 1991.
\newblock {APL2}: Getting started.
\newblock {\em IBM Systems Journal}, 30(4):433--445.

\bibskip\bibitem[\protect\authoryear{Brown}{1988}]{Brown88a}
{\leavevmode\kern-2em}Brown, James~A. 1988.
\newblock {\em {APL2} at a glance}.
\newblock Englewood Cliffs, N.J.: Prentice Hall.

\bibskip\bibitem[\protect\authoryear{Broy, Wirsing, and
  Pepper}{1987}]{Broy-Wirsing-Pepper87}
{\leavevmode\kern-2em}Broy, Manfred, Martin Wirsing, and Petter Pepper.
  1987~(January).
\newblock On the algebraic definition of programming languages.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  9(1):54--99.

\bibskip\bibitem[\protect\authoryear{Broy}{1991}]{Broy91}
{\leavevmode\kern-2em}Broy, Manfred. 1991.
\newblock Formalization of distributed, concurrent, reactive systems.
\newblock In Neuhold, E.~J. and M.~Paul, editors, {\em Formal Description of
  Programming Concepts}, IFIP State-of-the-Art Reports, pages\ 319--361. New
  York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Bruce and
  Mitchell}{1992}]{Bruce-Mitchell92}
{\leavevmode\kern-2em}Bruce, Kim and John~C. Mitchell. 1992~(January).
\newblock {PER} models of subtyping, recursive types and higher-order
  polymorphism.
\newblock In {\em Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages}, pages\ 316--327. ACM.

\bibskip\bibitem[\protect\authoryear{Bruce and Wegner}{1990}]{Bruce-Wegner90}
{\leavevmode\kern-2em}Bruce, Kim~B. and Peter Wegner. 1990~(August).
\newblock An algebraic model of subtype and inheritance.
\newblock In Ban\c{c}ilhon, Francois and Peter Buneman, editors, {\em Advances
  in Database Programming Languages}, pages\ 75--96. Reading, Mass.:
  Addison-Wesley.

\bibskip\bibitem[\protect\authoryear{Bruce \bgroup \em et~al.\egroup
  }{1993}]{Bruce-etal93}
{\leavevmode\kern-2em}Bruce, Kim~B., Jon Crabtree, Thomas~P. Murtagh, Robert
  van Gent, Allyn Dimock, and Robert Muller. 1993~(October).
\newblock Safe and decidable type checking in an object-oriented language.
\newblock {\em ACM SIGPLAN Notices}, 28(10):29--46.
\newblock {\em OOPSLA '93 Proceedings}, Andreas Paepcke (editor).

\bibskip\bibitem[\protect\authoryear{Bruce \bgroup \em et~al.\egroup
  }{1995}]{Bruce-etal95}
{\leavevmode\kern-2em}Bruce, Kim, Luca Cardelli, Giuseppe Castagna, The
  Hopkins~Object Group, Gary~T. Leavens, and Benjamin Pierce. 1995.
\newblock On binary methods.
\newblock {\em Theory and Practice of Object Systems}, 1(3):221--242.

\bibskip\bibitem[\protect\authoryear{Bruce, Cardelli, and
  Pierce}{1996}]{Bruce-Cardelli-Pierce96}
{\leavevmode\kern-2em}Bruce, Kim~B., Luca Cardelli, and Benjamin~C. Pierce.
  1996~(July).
\newblock Comparing object encodings.
\newblock In {\em Invited lecture at Third Workshop on Foundations of Object
  Oriented Languages (FOOL 3)}.
\newblock Available electronically through {\tt
  http://www.cs.williams.edu/\discretionary{}{}{}$\sim$kim/\discretionary{}{}{%
}FOOL/\discretionary{}{}{}Abstracts.html}.

\bibskip\bibitem[\protect\authoryear{Bruce}{1993}]{Bruce93}
{\leavevmode\kern-2em}Bruce, K. 1993.
\newblock Safe type checking in a statically typed object-oriented programming
  language.
\newblock In {\em Proc. ACM Symp. on Principles of Programming Languages},
  pages\ 285--298.

\bibskip\bibitem[\protect\authoryear{Bruce}{1994}]{Bruce94}
{\leavevmode\kern-2em}Bruce, K.~B. 1994~(April).
\newblock A paradigmatic object-oriented programming language: Design, static
  typing and semantics.
\newblock {\em Journal of Functional Programming}, 4(2):127--206.

\bibskip\bibitem[\protect\authoryear{Budd}{1991a}]{Budd91a}
{\leavevmode\kern-2em}Budd, Timothy. 1991a~(January).
\newblock Blending imperative and relational programming.
\newblock {\em IEEE Software}, 8(1):58--65.

\bibskip\bibitem[\protect\authoryear{Budd}{1991b}]{Budd91c}
{\leavevmode\kern-2em}\bibrule. 1991b.
\newblock {\em Object-Oriented Programming}.
\newblock New York, NY: Addison-Wesley.

\bibskip\bibitem[\protect\authoryear{Budd}{1995}]{Budd95}
{\leavevmode\kern-2em}Budd, Timothy~A. 1995.
\newblock {\em Multiparadigm Programming in {LEDA}}.
\newblock New York, NY: Addison-Wesley.

\bibskip\bibitem[\protect\authoryear{Butcher and
  Zedan}{1991}]{Butcher-Zedan91a}
{\leavevmode\kern-2em}Butcher, Paul and Hussein Zedan. 1991~(August).
\newblock Lucinda--an overview.
\newblock {\em ACM SIGPLAN Notices}, 26(8):90--100.

\bibskip\bibitem[\protect\authoryear{Butcher and
  Zedan}{1992}]{Butcher-Zedan91b}
{\leavevmode\kern-2em}\bibrule. 1992.
\newblock Lucinda - a polymorphic linda.
\newblock In Banatre, J.~P. and D.~Le Metayer, editors, {\em Research
  Directions in High-Level Parallel Programming Languages, Mont Saint-Michel,
  France, June 1991, Proceedings}, Vol.\ 574 of {\em Lecture Notes in Computer
  Science}, pages\ 126--146. New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Canning \bgroup \em et~al.\egroup
  }{1989}]{Canning-etal89a}
{\leavevmode\kern-2em}Canning, Peter, William Cook, Walter Hill, John Mitchell,
  and Walter Olthoff. 1989~(September).
\newblock F-bounded polymorphism for object-oriented programming.
\newblock In {\em Fourth International Conference on Functional Programming and
  Computer Architecture}. ACM.
\newblock Also technical report STL-89-5, from Software Technology Laboratory,
  Hewlett-Packard Laboratories.

\bibskip\bibitem[\protect\authoryear{Cardelli and
  Leroy}{1990}]{Cardelli-Leroy90}
{\leavevmode\kern-2em}Cardelli, Luca and Xavier Leroy. 1990~(March).
\newblock Abstract types and the dot notation.
\newblock Technical Report~56, Digital Equipment Corporation, Systems Research
  Center, 130 Lytton Avenue, Palo Alto, CA 94301.
\newblock Order from src-report@src.dec.com.

\bibskip\bibitem[\protect\authoryear{Cardelli and
  Wegner}{1985}]{Cardelli-Wegner85}
{\leavevmode\kern-2em}Cardelli, Luca and Peter Wegner. 1985~(December).
\newblock On understanding types, data abstraction and polymorphism.
\newblock {\em ACM Computing Surveys}, 17(4):471--522.

\bibskip\bibitem[\protect\authoryear{Cardelli \bgroup \em et~al.\egroup
  }{1989}]{Cardelli-etal89a}
{\leavevmode\kern-2em}Cardelli, Luca, Jim Donahue, Mick Jordan, Bill Kalsow,
  and Greg Nelson. 1989~(January).
\newblock The modula-3 type system.
\newblock In {\em Conference Record of the Sixteenth Annual ACM Symposium on
  Principles of Programming Languages, Austin, Texas}, pages\ 202--212. ACM.

\bibskip\bibitem[\protect\authoryear{Cardelli \bgroup \em et~al.\egroup
  }{1994}]{Cardelli-etal94}
{\leavevmode\kern-2em}Cardelli, Luca, Simone Martini, John~C. Mitchell, and
  Andre Scedrov. 1994~(Feb).
\newblock An extension of system f with subtyping.
\newblock {\em Information and Computation}, 109(1/2):4--56.

\bibskip\bibitem[\protect\authoryear{Cardelli}{1987}]{Cardelli87}
{\leavevmode\kern-2em}Cardelli, Luca. 1987~(April).
\newblock Basic polymorphic typechecking.
\newblock {\em Science of Computer Programming}, 8(2):147--172.

\bibskip\bibitem[\protect\authoryear{Cardelli}{1988a}]{Cardelli88b}
{\leavevmode\kern-2em}\bibrule. 1988a~(February/March).
\newblock A semantics of multiple inheritance.
\newblock {\em Information and Computation}, 76(2/3):138--164.
\newblock A revised version of the paper that appeared in the 1984 Semantics of
  Data Types Symposium, LNCS 173, pages 51--66.

\bibskip\bibitem[\protect\authoryear{Cardelli}{1988b}]{Cardelli88}
{\leavevmode\kern-2em}\bibrule. 1988b~(January).
\newblock Structural subtyping and the notion of power type.
\newblock In {\em Conference Record of the Fifteenth Annual ACM Symposium on
  Principles of Programming Languages, San Diego, Calif.}, pages\ 70--79. ACM.

\bibskip\bibitem[\protect\authoryear{Cardelli}{1991}]{Cardelli91}
{\leavevmode\kern-2em}\bibrule. 1991.
\newblock Typeful programming.
\newblock In Neuhold, E.~J. and M.~Paul, editors, {\em Formal Description of
  Programming Concepts}, IFIP State-of-the-Art Reports, pages\ 431--507. New
  York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Cardelli}{1995}]{Cardelli95}
{\leavevmode\kern-2em}\bibrule. 1995~(January).
\newblock A language with distributed scope.
\newblock {\em Computing Systems}, 8(1):27--59.
\newblock A preliminary version appeared in POPL '95.

\bibskip\bibitem[\protect\authoryear{Cardelli}{1997}]{Cardelli97}
{\leavevmode\kern-2em}\bibrule. 1997~(January).
\newblock Program fragments, linking, and modularization.
\newblock In {\em Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, Paris, France}, pages\
  266--277--, New York, NY.

\bibskip\bibitem[\protect\authoryear{Carriero and
  Gelernter}{1989}]{Carriero-Gelernter89b}
{\leavevmode\kern-2em}Carriero, Nicholas and David Gelernter. 1989~(September).
\newblock How to write parallel programs: A guide for the perplexed.
\newblock {\em ACM Computing Surveys}, 21(3):323--357.

\bibskip\bibitem[\protect\authoryear{Cartwright and {Steele
  Jr.}}{1998}]{Cartwright-Steele98}
{\leavevmode\kern-2em}Cartwright, Robert and Guy~L. {Steele Jr.}
  1998~(October).
\newblock Compatible genericity with run-time types for the {Java} programming
  language.
\newblock In {\em OOPSLA '98 Conference Proceedings}, Vol.\ 33(10) of {\em ACM
  SIGPLAN Notices}, pages\ 201--215.

\bibskip\bibitem[\protect\authoryear{Castagna, Ghelli, and
  Longo}{1992}]{Castagna-Ghelli-Longo92}
{\leavevmode\kern-2em}Castagna, Giuseppe, Giorgio Ghelli, and Giuseppe Longo.
  1992~(June).
\newblock A calculus for overloaded functions with subtyping.
\newblock In {\em ACM Conference on LISP and Functional Programming}, pages\
  182--192. ACM.
\newblock To appear in {\it Information and Computation}.

\bibskip\bibitem[\protect\authoryear{Castagna, Ghelli, and
  Longo}{1995}]{Castagna-Ghelli-Longo95}
{\leavevmode\kern-2em}\bibrule. 1995~(February).
\newblock \nwanchorto
{ftp://theory.lcs.mit.edu/pub/iandc/iandc.bib}{A calculus
  for overloaded functions with subtyping}.
\newblock {\em Information and Computation}, 117(1):115--135.
\newblock A preliminary version appeared in {\em ACM Conference on LISP and
  Functional Programming\/}, June 1992 (pp.\ 182--192).

\bibskip\bibitem[\protect\authoryear{Castagna}{1993}]{Castagna93}
{\leavevmode\kern-2em}Castagna, G. 1993~(October).
\newblock A meta-language for typed object-oriented languages.
\newblock In Shyamasundar, R.~K., editor, {\em Foundations of Software
  Technology and Theoretical Computer Science}, Vol.\ 761 of {\em Lecture Notes
  in Computer Science}, pages\ 52--71. Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Castagna}{1995}]{Castagna95}
{\leavevmode\kern-2em}Castagna, Giuseppe. 1995.
\newblock Covariance and contravariance: conflict without a cause.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  17(3):431--447.

\bibskip\bibitem[\protect\authoryear{Castagna}{1997}]{Castagna97}
{\leavevmode\kern-2em}\bibrule. 1997.
\newblock {\em Object-Oriented Programming: A Unified Foundation}. Progress in
  Theoretical Computer Science.
\newblock Boston: Birkhauser.

\bibskip\bibitem[\protect\authoryear{Chambers and
  Leavens}{1995}]{Chambers-Leavens95b}
{\leavevmode\kern-2em}Chambers, Craig and Gary~T. Leavens. 1995~(November).
\newblock Typechecking and modules for multi-methods.
\newblock {\em TOPLAS}, 17(6):805--843.

\bibskip\bibitem[\protect\authoryear{Chambers}{1992}]{Chambers92}
{\leavevmode\kern-2em}Chambers, Craig. 1992.
\newblock Object-oriented multi-methods in {Cecil}.
\newblock In Madsen, Ole~Lehrmann, editor, {\em ECOOP '92, European Conference
  on Object-Oriented Programming, Utrecht, The Netherlands}, Vol.\ 615 of {\em
  Lecture Notes in Computer Science}, pages\ 33--56. New York, NY:
  Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Chen and Hudak}{1997}]{Chen-Hudak97}
{\leavevmode\kern-2em}Chen, Chih-Ping and Paul Hudak. 1997~(January).
\newblock Rolling your own mutable {ADT} --- a connection between linear types
  and monads ---.
\newblock In {\em Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, Paris, France}, pages\
  54--66, New York, NY.

\bibskip\bibitem[\protect\authoryear{Chin and Chanson}{1991}]{Chin-Chanson91}
{\leavevmode\kern-2em}Chin, Roger~S. and Samuel~T. Chanson. 1991~(March).
\newblock Distributed object-based programming systems.
\newblock {\em ACM Computing Surveys}, 23(1):91--124.

\bibskip\bibitem[\protect\authoryear{Church}{1941}]{Church41}
{\leavevmode\kern-2em}Church, A. 1941.
\newblock {\em Annals of Mathematics Studies}. Volume~6, {\em The Calculi of
  Lambda Conversion}.
\newblock Princeton, N.J.: Princeton University Press.
\newblock Reprinted by Klaus Reprint Corp., New York in 1965.

\bibskip\bibitem[\protect\authoryear{Clocksin and
  Mellish}{1981}]{Clocksin-Mellish81}
{\leavevmode\kern-2em}Clocksin, W.~F. and C.~S. Mellish. 1981.
\newblock {\em Programming in Prolog}.
\newblock New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Cohen}{1990}]{Cohen90}
{\leavevmode\kern-2em}Cohen, Edward. 1990.
\newblock {\em Programming in the 1990s: An Introduction to the Calculation of
  Programs}.
\newblock New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Constable and
  Zlatin}{1984}]{Constable-Zlatin84}
{\leavevmode\kern-2em}Constable, Robert~L. and Daniel~R. Zlatin.
  1984~(January).
\newblock The type theory of pl/cv3.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  6(1):94--117.

\bibskip\bibitem[\protect\authoryear{Constable}{1989}]{Constable89}
{\leavevmode\kern-2em}Constable, Robert~L. 1989.
\newblock Assigning meaing to proofs: a semantic basis for problem solving
  environments.
\newblock In Broy, Manfred, editor, {\em Constructive Methods in Computing
  Science}, Vol.\ F55 of {\em NATO ASI Series}, pages\ 63--91. New York, NY:
  Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Cook and Palsberg}{1989}]{Cook-Palsberg89}
{\leavevmode\kern-2em}Cook, William and Jens Palsberg. 1989~(October).
\newblock A denotational semantics of inheritance and its correctness.
\newblock {\em ACM SIGPLAN Notices}, 24(10):433--443.
\newblock OOPSLA '89 Conference Proceedings, Norman Meyerowitz (editor),
  October 1989, New Orleans, Louisiana.

\bibskip\bibitem[\protect\authoryear{Cook, Hill, and
  Canning}{1990}]{Cook-Hill-Canning90}
{\leavevmode\kern-2em}Cook, William~R., Walter~L. Hill, and Peter~S. Canning.
  1990~(January).
\newblock Inheritance is not subtyping.
\newblock In {\em Conference Record of the Seventeenth Annual ACM Symposium on
  Principles of Programming Languages, San Francisco, California}, pages\
  125--135.
\newblock Also STL-89-17, Software Technology Laboratory, Hewlett-Packard
  Laboratories, Palo Alto, Calif., July 1989.

\bibskip\bibitem[\protect\authoryear{Cook}{1989}]{Cook89c}
{\leavevmode\kern-2em}Cook, W.~R. 1989~(August).
\newblock A proposal for making eiffel type-safe.
\newblock {\em The Computer Journal}, 32(4):305--311.

\bibskip\bibitem[\protect\authoryear{Cook}{1991}]{Cook91}
{\leavevmode\kern-2em}Cook, William~R. 1991.
\newblock Object-oriented programming versus abstract data types.
\newblock In de~Bakker, J.~W., W.~P. de~Roever, and G.~Rozenberg, editors, {\em
  Foundations of Object-Oriented Languages, REX School/Workshop,
  Noordwijkerhout, The Netherlands, May/June 1990}, Vol.\ 489 of {\em Lecture
  Notes in Computer Science}, pages\ 151--178. New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Cook}{1992}]{Cook92}
{\leavevmode\kern-2em}Cook, W.~R. 1992~(October).
\newblock Interfaces and specifications for the {Smalltalk-80} collection
  classes.
\newblock {\em ACM SIGPLAN Notices}, 27(10):1--15.
\newblock {\em OOPSLA '92 Proceedings}, Andreas Paepcke (editor).

\bibskip\bibitem[\protect\authoryear{Coquand and Huet}{1988}]{Coquand-Huet88}
{\leavevmode\kern-2em}Coquand, Thierry and G\'{e}rard Huet.
  1988~(February/March).
\newblock The calculus of constructions.
\newblock {\em Information and Computation}, 76(2/3):95--120.

\bibskip\bibitem[\protect\authoryear{Cormack and
  Wright}{1990}]{Cormack-Wright90}
{\leavevmode\kern-2em}Cormack, G.~V. and A.~K. Wright. 1990~(June).
\newblock Type-dependent parameter inference.
\newblock {\em ACM SIGPLAN Notices}, 25(6):127--136.
\newblock Proceedings of the ACM SIGPLAN '90 Conference on Programming Language
  Design and Implementation, White Plains, NY.

\bibskip\bibitem[\protect\authoryear{Cousot}{1990}]{Cousot90}
{\leavevmode\kern-2em}Cousot, Patrick. 1990.
\newblock Methods and logics for proving programs.
\newblock In van Leewen, J., editor, {\em Handbook of Theoretical Computer
  Science}, Vol.\ B: Formal Models and Semantics, Chapter~15, pages\ 841--993.
  New York, NY: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Cousot}{1997}]{Cousot97}
{\leavevmode\kern-2em}\bibrule. 1997~(January).
\newblock Types as abstract interpretation.
\newblock In {\em Conference Record of POPL 97: The 24TH ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, Paris, France}, pages\
  316--331, New York, NY.

\bibskip\bibitem[\protect\authoryear{Cox}{1986}]{Cox86}
{\leavevmode\kern-2em}Cox, Brad~J. 1986.
\newblock {\em Object Oriented Programming: an Evolutionary Approach}.
\newblock Reading, Mass.: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Danforth and
  Tomlinson}{1988}]{Danforth-Tomlinson88}
{\leavevmode\kern-2em}Danforth, Scott and Chris Tomlinson. 1988~(March).
\newblock Type theories and object-oriented programming.
\newblock {\em ACM Computing Surveys}, 20(1):29--72.

\bibskip\bibitem[\protect\authoryear{Davie}{1992}]{Davie92}
{\leavevmode\kern-2em}Davie, Anthony J.~T. 1992.
\newblock {\em An Introduction to Functional Programming Systems Using
  {Haskell}}. Cambridge Computer Science Texts.
\newblock New York, NY: Cambridge University Press.

\bibskip\bibitem[\protect\authoryear{de Bruijn}{1980}]{deBruijn80}
{\leavevmode\kern-2em}de~Bruijn, N.~G. 1980.
\newblock A survey of the project automath.
\newblock In Seldin, J.~P. and J.~R. Hindley, editors, {\em To H. B. Curry:
  Essays on Combinatory Logic, Lambda Calculus and Formalism}, pages\ 579--606.
  New York, NY: Academic Press, Inc.

\bibskip\bibitem[\protect\authoryear{de Champeaux and
  Faure}{1992}]{deChampeaux-Faure92}
{\leavevmode\kern-2em}de~Champeaux, Dennis and Penelope Faure. 1992~(March).
\newblock A comparative study of object-oriented analysis methods.
\newblock {\em Journal of Object-Oriented Programming}, 5(1):21--33.

\bibskip\bibitem[\protect\authoryear{de Champeaux, Lea, and
  Faure}{1992}]{deChampeaux-Lea-Faure92}
{\leavevmode\kern-2em}de~Champeaux, Dennis, Doug Lea, and Penelope Faure.
  1992~(October).
\newblock The process of object-oriented design.
\newblock {\em ACM SIGPLAN Notices}, 27(10):45--62.
\newblock {\em OOPSLA '92 Proceedings}, Andreas Papecke (editor).

\bibskip\bibitem[\protect\authoryear{de Champeaux, Lea, and
  Faure}{1993}]{deChampeaux-Lea-Faure93}
{\leavevmode\kern-2em}\bibrule. 1993.
\newblock {\em Object Oriented System Development}.
\newblock Mass,: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Dijkstra and
  Scholten}{1990}]{Dijkstra-Scholten90}
{\leavevmode\kern-2em}Dijkstra, Edsger~W. and Carel~S. Scholten. 1990.
\newblock {\em Predicate Calculus and program semantics}.
\newblock NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Dijkstra}{1976}]{Dijkstra76}
{\leavevmode\kern-2em}Dijkstra, Edsger~W. 1976.
\newblock {\em A Discipline of Programming}.
\newblock Englewood Cliffs, N.J.: Prentice-Hall, Inc.

\bibskip\bibitem[\protect\authoryear{Donahue and
  Demers}{1985}]{Donahue-Demers85}
{\leavevmode\kern-2em}Donahue, James and Alan Demers. 1985~(July).
\newblock Data types are values.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  7(3):426--445.

\bibskip\bibitem[\protect\authoryear{Drossopoulou, Eisenbach, and
  Khurshid}{1999}]{Drossopoulou-Eisenbach-Khurshid99}
{\leavevmode\kern-2em}Drossopoulou, Sophia, Susan Eisenbach, and Sarfraz
  Khurshid. 1999.
\newblock Is the java type system sound?
\newblock {\em Theory and Practice of Object Systems}, 5(1):3--24.

\bibskip\bibitem[\protect\authoryear{Dybjer}{1990}]{Dybjer90}
{\leavevmode\kern-2em}Dybjer, Peter. 1990~(June).
\newblock Comparing integrated and external logics of functional programs.
\newblock {\em Science of Computer Programming}, 14(1):59--79.

\bibskip\bibitem[\protect\authoryear{Eifrig, Smith, and
  Trifonov}{1995}]{Eifrig-etal95}
{\leavevmode\kern-2em}Eifrig, J., S.~Smith, and V.~Trifonov. 1995.
\newblock Sound polymorphic type inference for objects.
\newblock In {\em OOPSLA '95 Conference Proceedings}, Vol.\ 30(10) of {\em ACM
  SIGPLAN Notices}, pages\ 169--184.

\bibskip\bibitem[\protect\authoryear{Ellis and
  Stroustrup}{1990}]{Ellis-Stroustrup90}
{\leavevmode\kern-2em}Ellis, Margaret~A. and Bjarne Stroustrup. 1990.
\newblock {\em The Annotated {C}++ Reference Manual}.
\newblock Reading, Mass.: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Felleisen}{1990}]{Felleisen90}
{\leavevmode\kern-2em}Felleisen, Matthias. 1990~(May).
\newblock On the expressive power of programming languages.
\newblock In Jones, N., editor, {\em ESOP '90 3rd European Symposium on
  Programming, Copenhagen, Denmark}, Vol.\ 432 of {\em Lecture Notes in
  Computer Science}, pages\ 134--151. New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Findler and Flatt}{1999}]{Findler-Flatt99}
{\leavevmode\kern-2em}Findler, Robert~Bruce and Matthew Flatt. 1999~(June).
\newblock Modular object-oriented programming with units and mixins.
\newblock In {\em Proceedings of the ACM SIGPLAN International Conference on
  Functional Programming (ICFP '98)}, Vol.\ 34(1) of {\em ACM SIGPLAN Notices},
  pages\ 94--104. ACM.

\bibskip\bibitem[\protect\authoryear{Fischer and
  Mitchell}{1998}]{Fischer-Mitchell98}
{\leavevmode\kern-2em}Fischer, Kathleen and John~C. Mitchell. 1998.
\newblock On the relationship between classes, objects and data abstraction.
\newblock {\em Theory and Practice of Object Systems}, 4(1):3--25.

\bibskip\bibitem[\protect\authoryear{Fischer and Reppy}{1999}]{Fischer-Reppy99}
{\leavevmode\kern-2em}Fischer, Kathleen and John Reppy. 1999~(May).
\newblock The design of a class mechanism for {Moby}.
\newblock {\em ACM SIGPLAN Notices}, 34(5):37--49.
\newblock Proceedings of the 1999 ACM SIGPLAN Conference on Programming
  Language Design and Implementation (PLDI).

\bibskip\bibitem[\protect\authoryear{Flon}{1975}]{Flon75}
{\leavevmode\kern-2em}Flon, Lawrence. 1975~(October).
\newblock On research in structured programming.
\newblock {\em ACM SIGPLAN Notices}, 10(10):16--17.

\bibskip\bibitem[\protect\authoryear{Floyd}{1979}]{Floyd79}
{\leavevmode\kern-2em}Floyd, Robert~W. 1979~(August).
\newblock The paradigms of programming.
\newblock {\em Communications of the ACM}, 22(8):455--460.

\bibskip\bibitem[\protect\authoryear{Friedman, Wand, and
  Haynes}{1992}]{Friedman-Wand-Haynes92}
{\leavevmode\kern-2em}Friedman, Daniel~P., Mitchell Wand, and Christopher~T.
  Haynes. 1992.
\newblock {\em Essentials of Programming Languages}.
\newblock New York, NY: McGraw-Hill Book Co.

\bibskip\bibitem[\protect\authoryear{Futatsugi \bgroup \em et~al.\egroup
  }{1985}]{Futatsugi-etal85}
{\leavevmode\kern-2em}Futatsugi, Kokichi, Joseph~A. Goguen, Jean-Pierre
  Jouannaud, and Jose Meseguer. 1985~(January).
\newblock Principles of {OBJ2}.
\newblock In {\em Conference Record of the Twelfth Annual ACM Symposium on
  Principles of Programming Languages}, pages\ 52--66. ACM.

\bibskip\bibitem[\protect\authoryear{Gabriel}{1993}]{Gabriel93}
{\leavevmode\kern-2em}Gabriel, Richard~P. 1993~(July).
\newblock The end of history and the last programming language.
\newblock {\em Journal of Object-Oriented Programming}, 6(4):90--94.

\bibskip\bibitem[\protect\authoryear{Gamma \bgroup \em et~al.\egroup
  }{1995}]{Gamma-etal95}
{\leavevmode\kern-2em}Gamma, Erich, Richard Helm, Ralph Johnson, and John
  Vlissides. 1995.
\newblock {\em Design Patterns: Elements of Reusable Object-Oriented Software}.
\newblock Reading, Mass.: Addison-Wesley.

\bibskip\bibitem[\protect\authoryear{Gelernter and
  Carriero}{1992}]{Gelernter-Carriero92}
{\leavevmode\kern-2em}Gelernter, David and Nicholas Carriero. 1992~(February).
\newblock Coordination languages and their significance.
\newblock {\em Communications of the ACM}, 35(2):97--107.

\bibskip\bibitem[\protect\authoryear{Ghelli}{1991a}]{Ghelli91a}
{\leavevmode\kern-2em}Ghelli, Giorgio. 1991a.
\newblock Modelling features of object-oriented languages in second order
  functional languages with subtypes.
\newblock In de~Bakker, J.~W., W.~P. de~Roever, and G.~Rozenberg, editors, {\em
  Foundations of Object-Oriented Languages, REX School/Workshop,
  Noordwijkerhout, The Netherlands, May/June 1990}, Vol.\ 489 of {\em Lecture
  Notes in Computer Science}, pages\ 311--340. New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Ghelli}{1991b}]{Ghelli91b}
{\leavevmode\kern-2em}\bibrule. 1991b~(November).
\newblock A static type system for message passing.
\newblock {\em ACM SIGPLAN Notices}, 26(11):129--145.
\newblock OOPSLA '91 Conference Proceedings, Andreas Paepcke (editor), October
  1991, Phoenix, Arizona.

\bibskip\bibitem[\protect\authoryear{Ghezzi and
  Jazayeri}{1987}]{Ghezzi-Jazayeri87}
{\leavevmode\kern-2em}Ghezzi, Carlo and Mehdi Jazayeri. 1987.
\newblock {\em Programming Language Concepts 2/E}.
\newblock New York, NY: John Wiley and Sons.

\bibskip\bibitem[\protect\authoryear{Gifford and
  Lucassen}{1986}]{Gifford-Lucassen86}
{\leavevmode\kern-2em}Gifford, David~K. and John~M. Lucassen. 1986~(August).
\newblock Integrating functional and imperative programming.
\newblock In {\em ACM Conference on LISP and Functional Programming}, pages\
  28--38. ACM.

\bibskip\bibitem[\protect\authoryear{Girard, Lafont, and
  Taylor}{1989}]{Girard-Lafont-Taylor89}
{\leavevmode\kern-2em}Girard, Jean-Yves, Yves Lafont, and Paul Taylor. 1989.
\newblock {\em Proofs and Types}.
\newblock New York, NY: Cambridge University Press.

\bibskip\bibitem[\protect\authoryear{Girard}{1971}]{Girard71}
{\leavevmode\kern-2em}Girard, Jean-Yves. 1971.
\newblock Une extension de l'interpr\'{e}tation de g\"{o}del \`{a} l'analyse,
  et son application \`{a} l'\'{e}limination des coupures dans l'analyse et la
  th\'{e}orie des types.
\newblock In {\em Proceedings 2nd Scandinavian Logic Symposium}, pages\ 63--92,
  Amsterdam.

\bibskip\bibitem[\protect\authoryear{Girard}{1986}]{Girard86}
{\leavevmode\kern-2em}Girard, J.~Y. 1986.
\newblock The system {\bf f} of variable types, fifteen years later.
\newblock {\em Theoretical Computer Science}, 45:159--192.

\bibskip\bibitem[\protect\authoryear{Girard}{1993}]{Girard93}
{\leavevmode\kern-2em}Girard, Jean-Yves. 1993.
\newblock Linear logic: A survey.
\newblock In Bauer, F.~L., W.~Brauer, and H.~Schwichtenberg, editors, {\em
  Logic and Algebra of Specification}, Vol.~94 of {\em NATO ASI Series. Series
  F : Computer and System Sciences}, pages\ 63--112. New York, NY:
  Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Glew and
  Morrisett}{1999}]{Glew-Morrisett99}
{\leavevmode\kern-2em}Glew, Neal and Greg Morrisett. 1999~(January).
\newblock Type-safe linking and modular assembly language.
\newblock In {\em Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, San Antonio, Texas}, pages\
  250--261, New York, NY.

\bibskip\bibitem[\protect\authoryear{Goguen and
  Meseguer}{1986}]{Goguen-Meseguer86}
{\leavevmode\kern-2em}Goguen, Joseph~A. and Jos\'{e} Meseguer. 1986.
\newblock Eqlog: Equality, types, and generic modules for logic programming.
\newblock In DeGroot, Douglas and Gary Lindstrom, editors, {\em Functional and
  Logic Programming}, pages\ 295--363. Englewood Cliffs, N.J.: Prentice-Hall,
  Inc.
\newblock An earlier version appeared in the {\em Journal of Logic
  Programming}, 1984, Volume 1, Number 2, Pages 179-209.

\bibskip\bibitem[\protect\authoryear{Goguen and
  Meseguer}{1987}]{Goguen-Meseguer87a}
{\leavevmode\kern-2em}\bibrule. 1987.
\newblock Unifying functional, object-oriented and relational programming with
  logical semantics.
\newblock In Shriver, Bruce and Peter Wegner, editors, {\em Research Directions
  in Object-Oriented Programming}, pages\ 417--477. Cambridge, Mass.: The MIT
  Press.

\bibskip\bibitem[\protect\authoryear{Goguen}{1984}]{Goguen84}
{\leavevmode\kern-2em}Goguen, Joseph~A. 1984~(September).
\newblock Parameterized programming.
\newblock {\em IEEE Transactions on Software Engineering}, SE-10(5):528--543.

\bibskip\bibitem[\protect\authoryear{Goldberg and
  Robson}{1983}]{Goldberg-Robson83}
{\leavevmode\kern-2em}Goldberg, Adele and David Robson. 1983.
\newblock {\em Smalltalk-80, The Language and its Implementation}.
\newblock Reading, Mass.: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Goldblatt}{1984}]{Goldblatt84}
{\leavevmode\kern-2em}Goldblatt, R. 1984.
\newblock {\em Studies in Logic and the Foundations of Mathematics}. Volume~98,
  {\em Topoi: The Categorical Analysis of Logic (Revised Edition)}.
\newblock New York, NY: North-Holland.

\bibskip\bibitem[\protect\authoryear{Gordon, Milner, and
  Wadsworth}{1979}]{Gordon-etal79}
{\leavevmode\kern-2em}Gordon, Michael~J., Robin Milner, and Christopher~P.
  Wadsworth. 1979.
\newblock {\em Lecture Notes in Computer Science}. Volume~78, {\em Edinburgh
  LCF}.
\newblock New York, NY: Springer-Verlag.
\newblock The second author is listed on the cover as Arthur J. Milner, which
  is clearly a mistake.

\bibskip\bibitem[\protect\authoryear{Gordon}{1979}]{Gordon79}
{\leavevmode\kern-2em}Gordon, Michael J.~C. 1979.
\newblock {\em The Denotational Description of Programming Languages}.
\newblock New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Gordon}{1988}]{Gordon88}
{\leavevmode\kern-2em}\bibrule. 1988.
\newblock {\em Programming Language Theory and its Implementation}. Prentice
  Hall International Series in Computer Science.
\newblock New York, NY: Prentice-Hall, Inc.

\bibskip\bibitem[\protect\authoryear{Gosling, Joy, and
  Steele}{1996}]{Gosling-Joy-Steele96}
{\leavevmode\kern-2em}Gosling, James, Bill Joy, and Guy Steele. 1996.
\newblock {\em The {Java} Language Specification}. The Java Series.
\newblock Reading, MA: Ad{\-d}i{\-s}on-Wes{\-l}ey.

\bibskip\bibitem[\protect\authoryear{Gray and Reuter}{1993}]{Gray-Reuter93}
{\leavevmode\kern-2em}Gray, Jim and Andreas Reuter. 1993.
\newblock {\em Transaction Processing: Concepts and Techniques}.
\newblock Morgan Kaufman.

\bibskip\bibitem[\protect\authoryear{Gries and
  Schneider}{1994}]{Gries-Schneider94}
{\leavevmode\kern-2em}Gries, David and Fred~B. Schneider. 1994.
\newblock {\em A Logical Approach to Discrete Math}. Texts and Monographs in
  Computer Science.
\newblock New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Gries}{1981}]{Gries81}
{\leavevmode\kern-2em}Gries, David. 1981.
\newblock {\em The Science of Programming}.
\newblock New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Grimshaw}{1993}]{Grimshaw93}
{\leavevmode\kern-2em}Grimshaw, Andrew~S. 1993~(May).
\newblock Easy-to-use object-oriented parallel processing with mentat.
\newblock {\em IEEE Computer}, 26(5):39--51.

\bibskip\bibitem[\protect\authoryear{Griswold and
  Griswold}{1983}]{Griswold-Griswold83}
{\leavevmode\kern-2em}Griswold, Ralph~E. and Madge~T. Griswold. 1983.
\newblock {\em The Icon Programming Language}.
\newblock Englewood Cliffs, N.J.: Prentice-Hall, Inc.

\bibskip\bibitem[\protect\authoryear{Griswold, Poage, and
  Polonsky}{1971}]{Griswold-Poage-Polonsky71}
{\leavevmode\kern-2em}Griswold, R.~E., J.~F. Poage, and I.~P. Polonsky. 1971.
\newblock {\em The SNOBOL4 Programming Language (second edition)}.
\newblock Englewood Cliffs, N.J.: Prentice-Hall, Inc.

\bibskip\bibitem[\protect\authoryear{Gunter}{1992}]{Gunter92}
{\leavevmode\kern-2em}Gunter, C.~A. 1992.
\newblock {\em Semantics of Programming Languages: Structures and Techniques}.
  Foundations of Computing.
\newblock Cambridge, Mass.: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Habermann}{1973}]{Habermann73}
{\leavevmode\kern-2em}Habermann, A.~N. 1973.
\newblock Critical comments on the programming language pascal.
\newblock {\em Acta Informatica}, 3(1):47--57.

\bibskip\bibitem[\protect\authoryear{Hanson and
  Griswold}{1978}]{Hanson-Griswold78}
{\leavevmode\kern-2em}Hanson, David~R. and Ralph~E. Griswold. 1978~(May).
\newblock The sl5 procedure mechanism.
\newblock {\em Communications of the ACM}, 21(5):392--400.

\bibskip\bibitem[\protect\authoryear{Harland}{1984}]{Harland84b}
{\leavevmode\kern-2em}Harland, D.~M. 1984.
\newblock {\em Polymorphic Programming Languages: Design and Implementation}.
\newblock New York, NY: John Wiley and Sons.

\bibskip\bibitem[\protect\authoryear{Harper and
  Lillibridge}{1994}]{Harper-Lillibridge94}
{\leavevmode\kern-2em}Harper, Robert and Mark Lillibridge. 1994~(January).
\newblock A type-theoretic approach to higher-order modules with sharing.
\newblock In {\em Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, Portland, Oregon}, pages\
  123--137, New York, NY.

\bibskip\bibitem[\protect\authoryear{Harper}{1994}]{Harper94}
{\leavevmode\kern-2em}Harper, Robert. 1994.
\newblock A simplified account of polymorphic references.
\newblock {\em Information Processing Letters}, 51:201--206.

\bibskip\bibitem[\protect\authoryear{Hassan, Bal, and
  Jacobs}{1998}]{Hassan-Bal-Jacobs98}
{\leavevmode\kern-2em}Hassan, Saniya~Ben, Henri~E. Bal, and Ceriel J.~H.
  Jacobs. 1998~(November).
\newblock A task- and data-parallel programming language based on shared
  objects.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  20(6):1131--1170.

\bibskip\bibitem[\protect\authoryear{Henderson}{1980}]{Henderson80}
{\leavevmode\kern-2em}Henderson, Peter. 1980.
\newblock {\em Functional Programming: Application and Implementation}.
  International Series in Computer Science.
\newblock Englewood Cliffs, N.J.: Prentice-Hall, Inc.

\bibskip\bibitem[\protect\authoryear{Henglein}{1999}]{Henglein99}
{\leavevmode\kern-2em}Henglein, Fritz. 1999.
\newblock Breaking through the $n^3$ barrier: Faster object type inference.
\newblock {\em Theory and Practice of Object Systems}, 5(1):57--72.

\bibskip\bibitem[\protect\authoryear{Hennessy}{1988}]{Hennessy88a}
{\leavevmode\kern-2em}Hennessy, Matthew. 1988.
\newblock {\em Algebraic Theory of Processes}.
\newblock Cambridge, Mass.: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Hennessy}{1990}]{Hennessy90}
{\leavevmode\kern-2em}\bibrule. 1990.
\newblock {\em The Semantics of Programming Languages: an Elementary
  Introduction using Structural Operational Semantics}.
\newblock New York, NY: John Wiley and Sons.

\bibskip\bibitem[\protect\authoryear{Henson}{1987}]{Henson87}
{\leavevmode\kern-2em}Henson, Martin~C. 1987.
\newblock {\em Elements of Functional Languages}.
\newblock Oxford, England: Blackwell Scientific Publications.

\bibskip\bibitem[\protect\authoryear{Hesselink}{1992}]{Hesselink92}
{\leavevmode\kern-2em}Hesselink, Wim~H. 1992.
\newblock {\em Cambridge Tracts in Theoretical Computer Science}. Volume~27,
  {\em Programs, Recursion, and Unbounded Choice}.
\newblock New York, NY: Cambridge University Press.

\bibskip\bibitem[\protect\authoryear{{High Order Language Working Group,
  Department of Defense}}{1978}]{Steelman78}
{\leavevmode\kern-2em}{High Order Language Working Group, Department of
  Defense}. 1978~(June).
\newblock Department of defense requirements for high order computer
  programming languages: Steelman.
\newblock Technical report, U. S. Department of Defense.

\bibskip\bibitem[\protect\authoryear{Hillis and {Steele
  Jr.}}{1986}]{Hillis-Steele86}
{\leavevmode\kern-2em}Hillis, W.~Daniel and Guy~L. {Steele Jr.}
  1986~(December).
\newblock Data parallel algorithms.
\newblock {\em Communications of the ACM}, 29(12):1170--1183.

\bibskip\bibitem[\protect\authoryear{Hoang and
  Mitchell}{1995}]{Hoang-Mitchell95}
{\leavevmode\kern-2em}Hoang, My and John~C. Mitchell. 1995~(January).
\newblock Lower bounds on type inference with subtypes.
\newblock In {\em Conference Record of POPL '95: 22nd Annual ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, San Francisco, Calif.},
  pages\ 176--185, New York, NY.

\bibskip\bibitem[\protect\authoryear{Hoare and Wirth}{1973}]{Hoare-Wirth73}
{\leavevmode\kern-2em}Hoare, C. A.~R. and N.~Wirth. 1973.
\newblock An axiomatic definition of the programming language pascal.
\newblock {\em Acta Informatica}, 2(4):335--355.

\bibskip\bibitem[\protect\authoryear{Hoare}{1969}]{Hoare69}
{\leavevmode\kern-2em}Hoare, C. A.~R. 1969~(October).
\newblock An axiomatic basis for computer programming.
\newblock {\em Communications of the ACM}, 12(10):576--583.

\bibskip\bibitem[\protect\authoryear{Hoare}{1978}]{Hoare78a}
{\leavevmode\kern-2em}\bibrule. 1978~(August).
\newblock Communicating sequential processes.
\newblock {\em Communications of the ACM}, 21(8):666--677.

\bibskip\bibitem[\protect\authoryear{Hoare}{1980}]{Hoare80}
{\leavevmode\kern-2em}\bibrule. 1980~(October).
\newblock Hints on programming language design.
\newblock In Wasserman, Anthony~I., editor, {\em Tutorial Programming Language
  Design}, pages\ 43--52. IEEE.

\bibskip\bibitem[\protect\authoryear{Hoare}{1985}]{Hoare85}
{\leavevmode\kern-2em}\bibrule. 1985.
\newblock {\em Communicating Sequential Processes}.
\newblock Englewood Cliffs, N.J.: Prentice-Hall, Inc.

\bibskip\bibitem[\protect\authoryear{Hoare}{1989}]{Hoare89}
{\leavevmode\kern-2em}\bibrule. 1989.
\newblock Notes on an approach to category theory for computer scientists.
\newblock In Broy, Manfred, editor, {\em Constructive Methods in Computing
  Science}, Vol.\ F55 of {\em NATO ASI Series}, pages\ 245--305. New York, NY:
  Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Horowitz}{1987}]{Horowitz87}
{\leavevmode\kern-2em}Horowitz, Ellis. 1987.
\newblock {\em Programming Languages: A Grand Tour (Third Edition)}.
\newblock Rockville, Maryland: Computer Science Press.

\bibskip\bibitem[\protect\authoryear{Howard}{1980}]{Howard80}
{\leavevmode\kern-2em}Howard, W.~A. 1980.
\newblock The formulae-as-types notion of construction.
\newblock In Seldin, J.~P. and J.~R. Hindley, editors, {\em To H. B. Curry:
  Essays on Combinatory Logic, Lambda Calculus and Formalism}, pages\ 479--490.
  New York, NY: Academic Press, Inc.

\bibskip\bibitem[\protect\authoryear{Hudak and Fasel}{1992}]{Hudak-Fasel92}
{\leavevmode\kern-2em}Hudak, Paul and Joseph~H. Fasel. 1992~(May).
\newblock A gentle introduction to {Haskell}.
\newblock {\em ACM SIGPLAN Notices}, 27(5).

\bibskip\bibitem[\protect\authoryear{Hudak \bgroup \em et~al.\egroup
  }{1992}]{Hudak-etal92}
{\leavevmode\kern-2em}Hudak, Paul, Simon~Peyton Jones, Philip Wadler, et~al.
  1992~(May).
\newblock Report on the programming language {Haskell}: A non-strict, purely
  functional language, version 1.2.
\newblock {\em ACM SIGPLAN Notices}, 27(5).

\bibskip\bibitem[\protect\authoryear{Hudak}{1989}]{Hudak89}
{\leavevmode\kern-2em}Hudak, Paul. 1989~(September).
\newblock Conception, evolution, and application of functional programming
  languages.
\newblock {\em ACM Computing Surveys}, 21(3):359--411.

\bibskip\bibitem[\protect\authoryear{Ichbiah \bgroup \em et~al.\egroup
  }{1979}]{Ichbiah-etal79}
{\leavevmode\kern-2em}Ichbiah, J.~D., J.~G.~P. Barnes, J.~C. Heliard,
  B.~Krieg-Brueckner, O.~Roubine, and B.~A. Wichmann. 1979~(June).
\newblock Reference manual and rationale for the ada programming language.
\newblock {\em ACM SIGPLAN Notices}, 14(6).
\newblock This version of the language is now obsolete, but the rationale (part
  B) is still valuable.

\bibskip\bibitem[\protect\authoryear{Ichbiah \bgroup \em et~al.\egroup
  }{1991}]{Ichbiah-etal91}
{\leavevmode\kern-2em}Ichbiah, J., J.~Barnes, R.~Firth, and M.~Woodger. 1991.
\newblock {\em Rationale for the Design of the Ada Programming Language}.
\newblock New York, NY: Cambridge University Press.
\newblock ISBN 0-521-39267-5.

\bibskip\bibitem[\protect\authoryear{Ingalls \bgroup \em et~al.\egroup
  }{1997}]{Ingalls-etal97}
{\leavevmode\kern-2em}Ingalls, Dan, Ted Kaehler, John Maloney, Scott Wallace,
  and Alan Kay. 1997~(October).
\newblock Back to the future: The story of squeak, a practical smalltalk
  written in itself.
\newblock In {\em Conference Proceedings of OOPSLA '97, Atlanta}, Vol.\ 32(10)
  of {\em ACM SIGPLAN Notices}, pages\ 318--326. ACM.

\bibskip\bibitem[\protect\authoryear{Ingalls}{1981}]{Ingalls81}
{\leavevmode\kern-2em}Ingalls, D. H.~H. 1981~(August).
\newblock Design principles behind smalltalk.
\newblock {\em BYTE}, 6(8):286--298.

\bibskip\bibitem[\protect\authoryear{Iverson}{1962}]{Iverson62}
{\leavevmode\kern-2em}Iverson, K. 1962.
\newblock {\em A Programming Language}.
\newblock New York, NY: John Wiley and Sons.

\bibskip\bibitem[\protect\authoryear{Iverson}{1979}]{Iverson79}
{\leavevmode\kern-2em}Iverson, Kenneth~E. 1979~(October).
\newblock Operators.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  1(2):161--176.

\bibskip\bibitem[\protect\authoryear{Iverson}{1991}]{Iverson91}
{\leavevmode\kern-2em}\bibrule. 1991.
\newblock A personal view of {APL}.
\newblock {\em IBM Systems Journal}, 30(4):582--593.

\bibskip\bibitem[\protect\authoryear{Jaffar \bgroup \em et~al.\egroup
  }{1992}]{Jaffar-etal92}
{\leavevmode\kern-2em}Jaffar, Joxan, Spiro Michaylov, Peter~J. Stuckey, and
  Roland H.~C. Yap. 1992~(July).
\newblock The clp($\cal r$) language and system.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  14(3):339--395.

\bibskip\bibitem[\protect\authoryear{Jayaraman and
  Gupta}{1989}]{Jayaraman-Gupta89}
{\leavevmode\kern-2em}Jayaraman, Bharat and Gopal Gupta. 1989~(June).
\newblock {EqL}: The language and its implementation.
\newblock {\em IEEE Transactions on Software Engineering}, 15(6):771--779.

\bibskip\bibitem[\protect\authoryear{Jensen and Wirth}{1974}]{Jensen-Wirth74}
{\leavevmode\kern-2em}Jensen, Kathleen and Niklaus Wirth. 1974.
\newblock {\em PASCAL User Manual and Report (second edition)}.
\newblock New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Johnson}{1992}]{Johnson92}
{\leavevmode\kern-2em}Johnson, Ralph~E. 1992~(October).
\newblock Documenting frameworks using patterns.
\newblock {\em ACM SIGPLAN Notices}, 27(10):63--76.
\newblock {\em OOPSLA '92 Proceedings}, Andreas Paepcke (editor).

\bibskip\bibitem[\protect\authoryear{Jones}{1995}]{JonesMark95}
{\leavevmode\kern-2em}Jones, Mark~P. 1995~(Jan).
\newblock {A} system of constructor classes: overloading and implicit
  higher-order polymorphism.
\newblock {\em Journal of Functional Programming}, 5(1):1--35.
\newblock An earlier version appeared in FPCA '93.

\bibskip\bibitem[\protect\authoryear{Kagawa}{1997}]{Kagawa97}
{\leavevmode\kern-2em}Kagawa, Koji. 1997~(August).
\newblock Compositional references for stateful functional programming.
\newblock In {\em Proceedings of the ACM SIGPLAN International Conference on
  Functional Programming (ICFP '97)}, Vol.\ 32(8) of {\em ACM SIGPLAN Notices},
  pages\ 217--226. ACM.

\bibskip\bibitem[\protect\authoryear{Kamin}{1988}]{Kamin88}
{\leavevmode\kern-2em}Kamin, Samuel. 1988~(January).
\newblock Inheritance in smalltalk-80: A denotational definition.
\newblock In {\em Conference Record of the Fifteenth Annual ACM Symposium on
  Principles of Programming Languages, San Diego, Calif.}, pages\ 80--87. ACM.

\bibskip\bibitem[\protect\authoryear{Kamin}{1990}]{Kamin90}
{\leavevmode\kern-2em}Kamin, Samuel~N. 1990.
\newblock {\em Programming Languages: An Interpreter-Based Approach}.
\newblock Reading, Mass.: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Keene}{1989}]{Keene89}
{\leavevmode\kern-2em}Keene, Sonya~E. 1989.
\newblock {\em Object-Oriented Programming in Common Lisp}.
\newblock Reading, Mass.: Addison Wesley.

\bibskip\bibitem[\protect\authoryear{Kelsey, Clinger, and
  (Editors)}{1998}]{Kelsey-Clinger-Rees98}
{\leavevmode\kern-2em}Kelsey, Richard, William Clinger, and Jonathan~Rees
  (Editors). 1998~(September).
\newblock
  \nwanchorto
{ftp://ftp.cs.indiana.edu/pub/scheme-repository/doc/standards/r5%
rs-html.tar.gz}{Revised$^{5}$ report on the algorithmic language {Scheme}}.
\newblock {\em ACM SIGPLAN Notices}, 33(9):26--76.

\bibskip\bibitem[\protect\authoryear{Kernighan and
  Ritchie}{1978}]{Kernighan-Ritchie78}
{\leavevmode\kern-2em}Kernighan, Brian~W. and Dennis~M. Ritchie. 1978.
\newblock {\em The C Programming Language}.
\newblock Englewood Cliffs, N.J.: Prentice-Hall, Inc.

\bibskip\bibitem[\protect\authoryear{Kiczales \bgroup \em et~al.\egroup
  }{1997}]{Kiczales-etal97}
{\leavevmode\kern-2em}Kiczales, Gregor, John Lamping, Anurag Menhdhekar, Chris
  Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. 1997~(June).
\newblock Aspect-oriented programming.
\newblock In Ak\c{s}it, Mehmet and Satoshi Matsuoka, editors, {\em ECOOP '97
  --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a},
  Finland}, Vol.\ 1241 of {\em Lecture Notes in Computer Science}, pages\
  220--242. New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Kiczales, des Rivieres, and
  Bobrow}{1991}]{Kiczales-Rivieres-Bobrow91}
{\leavevmode\kern-2em}Kiczales, Gregor, Jim des Rivieres, and Daniel~G. Bobrow.
  1991.
\newblock {\em The Art of the Metaobject Protocol}.
\newblock Cambridge, Mass.: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Kim and Lochovsky}{1989}]{Kim-Lochovsky89}
{\leavevmode\kern-2em}Kim, Won and Frederick~H. Lochovsky, editors. 1989.
\newblock {\em Object-Oriented Concepts, Databases, and Applications}.
\newblock Reading, Mass.: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Klint}{1993}]{Klint93}
{\leavevmode\kern-2em}Klint, Paul. 1993~(April).
\newblock A meta-environment for generating programming environments.
\newblock {\em ACM Transactions on Software Engineering and Methodology},
  2(2):176--201.

\bibskip\bibitem[\protect\authoryear{Knuth}{1967}]{Knuth67}
{\leavevmode\kern-2em}Knuth, Donald~E. 1967~(October).
\newblock The remaining trouble spots in algol 60.
\newblock {\em Communications of the ACM}, 10(1):611--617.

\bibskip\bibitem[\protect\authoryear{Kobayashi}{1999}]{Kobayashi99}
{\leavevmode\kern-2em}Kobayashi, Naoki. 1999~(January).
\newblock Quasi-linear types.
\newblock In {\em Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, San Antonio, Texas}, pages\
  29--42, New York, NY.

\bibskip\bibitem[\protect\authoryear{Kowalski}{1979}]{Kowalski79}
{\leavevmode\kern-2em}Kowalski, Robert. 1979~(July).
\newblock Algorithm = logic + control.
\newblock {\em Communications of the ACM}, 22(7):424--435.

\bibskip\bibitem[\protect\authoryear{LaLonde, Thomas, and
  Pugh}{1986}]{LaLonde-Thomas-Pugh86}
{\leavevmode\kern-2em}LaLonde, Wilf~R., Dave~A. Thomas, and John~R. Pugh.
  1986~(November).
\newblock An exemplar based {Smalltalk}.
\newblock {\em ACM SIGPLAN Notices}, 21(11):322--330.
\newblock OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor),
  September 1986, Portland, Oregon.

\bibskip\bibitem[\protect\authoryear{LaLonde}{1989}]{LaLonde89}
{\leavevmode\kern-2em}LaLonde, Wilf~R. 1989~(April).
\newblock Designing families of data types using exemplars.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  11(2):212--248.

\bibskip\bibitem[\protect\authoryear{Lamport and Lynch}{1990}]{Lamport-Lynch90}
{\leavevmode\kern-2em}Lamport, Leslie and Nancy Lynch. 1990.
\newblock Distributed computing: Models and methods.
\newblock In van Leewen, J., editor, {\em Handbook of Theoretical Computer
  Science}, Vol.\ B: Formal Models and Semantics, Chapter~19, pages\
  1157--1199. New York, NY: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Lamport and
  Schneider}{1984}]{Lamport-Schneider84}
{\leavevmode\kern-2em}Lamport, Leslie and Fred~B. Schneider. 1984~(April).
\newblock The "hoare logic" of csp and all that.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  6(2):281--296.

\bibskip\bibitem[\protect\authoryear{Landin}{1964}]{Landin64}
{\leavevmode\kern-2em}Landin, P.~J. 1964.
\newblock The mechanical evaluation of expressions.
\newblock {\em Computer Journal}, 6:308--320.
\newblock See also Landin's paper ``A Lambda-Calculus Approach'' in {\em
  Advances in Programming and Non-Numerical Computation}, L. Fox (ed.),
  Pergamon Press, Oxford, 1966.

\bibskip\bibitem[\protect\authoryear{Landin}{1965}]{Landin65}
{\leavevmode\kern-2em}\bibrule. 1965.
\newblock A correspondence algol 60 and church's lambda notation.
\newblock {\em Communications of the ACM}, 8:89--101, 158--165.

\bibskip\bibitem[\protect\authoryear{Landin}{1966}]{Landin66}
{\leavevmode\kern-2em}\bibrule. 1966~(March).
\newblock The next 700 programming languages.
\newblock {\em Communications of the ACM}, 9(3):157--166.

\bibskip\bibitem[\protect\authoryear{Lane}{1971}]{MacLane71}
{\leavevmode\kern-2em}Lane, Saunders~Mac. 1971.
\newblock {\em Graduate Texts in Mathematics}. Volume~5, {\em Categories for
  the Working Mathematician}.
\newblock New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Launchbury and
  Sabry}{1997}]{Launchbury-Sabry97}
{\leavevmode\kern-2em}Launchbury, John and Amr Sabry. 1997~(August).
\newblock Monadic state: Axiomatization and type safety.
\newblock In {\em Proceedings of the ACM SIGPLAN International Conference on
  Functional Programming (ICFP '97)}, Vol.\ 32(8) of {\em ACM SIGPLAN Notices},
  pages\ 227--238. ACM.

\bibskip\bibitem[\protect\authoryear{Lawvere and
  Schanuel}{1991}]{Lawvere-Schanuel91}
{\leavevmode\kern-2em}Lawvere, F.~W. and Stephen~H. Schanuel. 1991.
\newblock {\em Conceptual Mathematics: a first introduction to categories}.
\newblock Buffalo, NY: Buffalo Workshop Press.

\bibskip\bibitem[\protect\authoryear{Leavens and
  Millstein}{1998}]{Leavens-Millstein98}
{\leavevmode\kern-2em}Leavens, Gary~T. and Todd~D. Millstein. 1998~(October).
\newblock
  \nwanchorto
{ftp://ftp.cs.iastate.edu/pub/techreports/TR98-03/TR.ps.gz}{Mult%
iple dispatch as dispatch on tuples}.
\newblock In {\em OOPSLA '98 Conference Proceedings}, Vol.\ 33(10) of {\em ACM
  SIGPLAN Notices}, pages\ 374--387.

\bibskip\bibitem[\protect\authoryear{Leavens and
  Pigozzi}{1999}]{Leavens-Pigozzi99}
{\leavevmode\kern-2em}Leavens, Gary~T. and Don Pigozzi. 1999.
\newblock
  \nwanchorto
{http://www.elsevier.nl:80/cas/tree/store/tcs/sub/entcs/store/tc%
s14/tcs14014.ps}{Class-based and algebraic models of objects}.
\newblock In Cleaveland, Rance, Michael Mislove, and Philip Mulry, editors,
  {\em US---Brazil Joint Workshops on the Formal Foundations of Software
  Systems}, Vol.~14 of {\em Electronic Notes in Theoretical Computer Science}.
  Elsevier.
\newblock http://www.elsevier.nl/locate/entcs/volume14.html.

\bibskip\bibitem[\protect\authoryear{Leavens and Weihl}{1990}]{Leavens-Weihl90}
{\leavevmode\kern-2em}Leavens, Gary~T. and William~E. Weihl. 1990~(October).
\newblock Reasoning about object-oriented programs that use subtypes (extended
  abstract).
\newblock In Meyrowitz, N., editor, {\em {OOPSLA ECOOP '90 Proceedings}}, Vol.\
  25(10) of {\em ACM SIGPLAN Notices}, pages\ 212--223. ACM.

\bibskip\bibitem[\protect\authoryear{Leavens and Weihl}{1995}]{Leavens-Weihl95}
{\leavevmode\kern-2em}\bibrule. 1995~(November).
\newblock Specification and verification of object-oriented programs using
  supertype abstraction.
\newblock {\em Acta Informatica}, 32(8):705--778.

\bibskip\bibitem[\protect\authoryear{Leavens}{1991a}]{Leavens91b}
{\leavevmode\kern-2em}Leavens, Gary~T. 1991a~(October).
\newblock Introduction to the literature on object-oriented design,
  programming, and languages.
\newblock {\em OOPS Messenger}, 2(4).

\bibskip\bibitem[\protect\authoryear{Leavens}{1991b}]{Leavens91}
{\leavevmode\kern-2em}\bibrule. 1991b~(July).
\newblock Modular specification and verification of object-oriented programs.
\newblock {\em IEEE Software}, 8(4):72--80.

\bibskip\bibitem[\protect\authoryear{Lecarme and
  Desjardins}{1975}]{Lecarme-Desjardins74}
{\leavevmode\kern-2em}Lecarme, O. and P.~Desjardins. 1975.
\newblock Reply to a paper by a. n. habermann on the programming language
  pascal.
\newblock {\em Acta Informatica}, 4(3):231--243.
\newblock An earlier version appeared in ACM SIGPLAN Notices, October, 1974.

\bibskip\bibitem[\protect\authoryear{Lee and Yi}{1998}]{Lee-Yi98}
{\leavevmode\kern-2em}Lee, Oukseh and Kwangkeun Yi. 1998~(July).
\newblock Proofs about a folklore let-polymorphic type inference algorithm.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  20(4):707--723.

\bibskip\bibitem[\protect\authoryear{Leler}{1988}]{Leler88}
{\leavevmode\kern-2em}Leler, Wm. 1988.
\newblock {\em Constraint Programming Languages: Their Specification and
  Generation}.
\newblock Reading, Mass.: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Leroy}{1994}]{Leroy94}
{\leavevmode\kern-2em}Leroy, Xavier. 1994~(January).
\newblock Manifest types, modules, and separate compilation.
\newblock In {\em Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, Portland, Oregon}, pages\
  109--122, New York, NY.

\bibskip\bibitem[\protect\authoryear{Liang and Bracha}{1998}]{Liang-Bracha98}
{\leavevmode\kern-2em}Liang, Sheng and Gilad Bracha. 1998~(October).
\newblock Ownership types for flexible alias protection.
\newblock In {\em OOPSLA '98 Conference Proceedings}, Vol.\ 33(10) of {\em ACM
  SIGPLAN Notices}, pages\ 36--47. ACM.

\bibskip\bibitem[\protect\authoryear{Liang, Hudak, and
  Jones}{1995}]{Liang-Hudak-Jones95}
{\leavevmode\kern-2em}Liang, Sheng, Paul Hudak, and Mark Jones. 1995~(January).
\newblock Monad transformers and modular interpreters.
\newblock In {\em Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, San Francisco, California},
  pages\ 333--343. ACM.

\bibskip\bibitem[\protect\authoryear{Lieberman}{1986}]{Lieberman86}
{\leavevmode\kern-2em}Lieberman, Henry. 1986~(November).
\newblock Using prototypical objects to implement shared behavior in object
  oriented systems.
\newblock {\em ACM SIGPLAN Notices}, 21(11):214--223.
\newblock OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor),
  September 1986, Portland, Oregon.

\bibskip\bibitem[\protect\authoryear{Lindsey and van~der
  Meulen}{1977}]{Lindsey-vanderMeulen77}
{\leavevmode\kern-2em}Lindsey, C.~H. and S.~G. van~der Meulen. 1977.
\newblock {\em Informal Introduction to ALGOL 68 (revised edition)}.
\newblock New York, NY: North-Holland Publishing Co.

\bibskip\bibitem[\protect\authoryear{Lindstrom, Liskov, and
  MacQueen}{1989}]{Lindstrom-Liskov-MacQueen89}
{\leavevmode\kern-2em}Lindstrom, Gary, Barbara Liskov, and David MacQueen.
  1989~(November).
\newblock Critical research directions in programming languages.
\newblock {\em ACM SIGPLAN Notices}, 24(11):10--25.

\bibskip\bibitem[\protect\authoryear{Lippman}{1991}]{Lippman91}
{\leavevmode\kern-2em}Lippman, Stanley~B. 1991.
\newblock {\em {C}++ Primer: 2nd Edition}.
\newblock Reading, Mass.: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Liskov and Guttag}{1986}]{Liskov-Guttag86}
{\leavevmode\kern-2em}Liskov, Barbara and John Guttag. 1986.
\newblock {\em Abstraction and Specification in Program Development}.
\newblock Cambridge, Mass.: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Liskov and
  Scheifler}{1983}]{Liskov-Scheifler83}
{\leavevmode\kern-2em}Liskov, Barbara and Robert Scheifler. 1983~(July).
\newblock Guardians and actions: Linguistic support for robust, distributed
  programs.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  5(3):381--404.

\bibskip\bibitem[\protect\authoryear{Liskov and Snyder}{1979}]{Liskov-Snyder79}
{\leavevmode\kern-2em}Liskov, Barbara~H. and Alan Snyder. 1979~(November).
\newblock Exception handling in clu.
\newblock {\em IEEE Transactions on Software Engineering}, SE-5(6):546--558.

\bibskip\bibitem[\protect\authoryear{Liskov and Wing}{1994}]{Liskov-Wing94}
{\leavevmode\kern-2em}Liskov, Barbara and Jeannette Wing. 1994~(November).
\newblock A behavioral notion of subtyping.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  16(6):1811--1841.

\bibskip\bibitem[\protect\authoryear{Liskov \bgroup \em et~al.\egroup
  }{1977}]{Liskov-etal77}
{\leavevmode\kern-2em}Liskov, Barbara, Alan Snyder, Russell Atkinson, and Craig
  Schaffert. 1977~(August).
\newblock Abstraction mechanisms in clu.
\newblock {\em Communications of the ACM}, 20(8):564--576.

\bibskip\bibitem[\protect\authoryear{Liskov \bgroup \em et~al.\egroup
  }{1981}]{Liskov-etal81}
{\leavevmode\kern-2em}Liskov, Barbara, Russell Atkinson, Toby Bloom, Eliot
  Moss, J.~Craig Schaffert, Robert Scheifler, and Alan Snyder. 1981.
\newblock {\em Lecture Notes in Computer Science}. Volume\ 114, {\em CLU
  Reference Manual}.
\newblock New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{London \bgroup \em et~al.\egroup
  }{1978}]{London-etal78}
{\leavevmode\kern-2em}London, R.~L., J.~V. Guttag, J.~J. Horning, B.~W.
  Lampson, J.~G. Mitchell, and G.~J. Popek. 1978.
\newblock Proof rules for the programming language euclid.
\newblock {\em Acta Informatica}, 10(1):1--26.

\bibskip\bibitem[\protect\authoryear{Loveman}{1993}]{Loveman93}
{\leavevmode\kern-2em}Loveman, D.~B. 1993.
\newblock High performance fortran.
\newblock {\em IEEE Parallel and Distributed Technology: Systems and
  Applications}, 1(1):25--42.

\bibskip\bibitem[\protect\authoryear{Lucassen and
  Gifford}{1988}]{Lucassen-Gifford88}
{\leavevmode\kern-2em}Lucassen, John~M. and David~K. Gifford. 1988~(January).
\newblock Polymorphic effect systems.
\newblock In {\em Conference Record of the Fifteenth Annual ACM Symposium on
  Principles of Programming Languages, San Diego, Calif.}, pages\ 47--57. ACM.

\bibskip\bibitem[\protect\authoryear{Mackie}{1993}]{Mackie93}
{\leavevmode\kern-2em}Mackie, Ian. 1993.
\newblock {Lilac} --- a functional programming language based on linear logic.
\newblock {\em Journal of Functional Programming}, 4(4):395--433.

\bibskip\bibitem[\protect\authoryear{MacLennan}{1999}]{MacLennan99}
{\leavevmode\kern-2em}MacLennan, Bruce~J. 1999.
\newblock {\em Principles of Programming Languages}. Third edition.
\newblock New York, NY: Oxford University Press.

\bibskip\bibitem[\protect\authoryear{MacQueen}{1984}]{MacQueen84}
{\leavevmode\kern-2em}MacQueen, David. 1984~(August).
\newblock Modules for {Standard} {ML}.
\newblock In {\em Proceedings of the Symposium on {LISP} and Functional
  Programming, Austin, Texas}, pages\ 198--207. ACM.

\bibskip\bibitem[\protect\authoryear{Manes and Arbib}{1986}]{Manes-Arbib86}
{\leavevmode\kern-2em}Manes, Ernest~G. and Michael~A. Arbib. 1986.
\newblock {\em Algebraic Approaches to Program Semantics}.
\newblock New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Marti-Oliet and
  Meseguer}{1990}]{Marti-Oliet-Meseguer90}
{\leavevmode\kern-2em}Marti-Oliet, Narciso and Jose Meseguer. 1990~(December).
\newblock Inclusions and subtypes.
\newblock Technical Report\ SRI-CSL-90-16, Computer Science Laboratory, SRI
  International, 333 Ravenswood Ave., Menlo Park, Calif.

\bibskip\bibitem[\protect\authoryear{Martin-L\"{o}f}{1975}]{Martin-Lof75b}
{\leavevmode\kern-2em}Martin-L\"{o}f, P. 1975.
\newblock An intuitionistic theory of types: Predictive part.
\newblock In Rose, H.~E. and J.~C. Sheperdson, editors, {\em Logic Colloquium
  '73}, Vol.~80 of {\em Studies in Logic}, pages\ 73--118. New York, NY:
  North-Holland Publishing Co.

\bibskip\bibitem[\protect\authoryear{Martin-L\"{o}f}{1982}]{Martin-Lof82}
{\leavevmode\kern-2em}Martin-L\"{o}f, Per. 1982.
\newblock Constructive mathematics and computer programming.
\newblock In Cohen, L.~J. et~al., editors, {\em Logic, Methodology, and
  Philosophy of Science VI (Proceedings of the Sixth International Congress;
  Hannover, 1979)}, Vol.\ 104 of {\em Studies in Logic and the Foundations of
  Mathematics}, pages\ 153--175. Amsterdam: North Holland.

\bibskip\bibitem[\protect\authoryear{Matthews}{1985a}]{Matthews85b}
{\leavevmode\kern-2em}Matthews, David C.~J. 1985a~(August).
\newblock An overview of the poly programming language.
\newblock In {\em Persistence and Data Types: Papers for the Appin Workshop},
  pages\ 265--274. Universities of Glasgow and St. Andrews, Departments of
  Computer Science.
\newblock Persistent Programming Research Report 16.

\bibskip\bibitem[\protect\authoryear{Matthews}{1985b}]{Matthews85a}
{\leavevmode\kern-2em}\bibrule. 1985b~(September).
\newblock Poly manual.
\newblock {\em ACM SIGPLAN Notices}, 20(9):52--76.

\bibskip\bibitem[\protect\authoryear{McCarthy \bgroup \em et~al.\egroup
  }{1965}]{McCarthy-etal65}
{\leavevmode\kern-2em}McCarthy, John, Paul~W. Abrahams, Daniel~J. Edwards,
  Timothy~P. Hart, and Michael~I. Levin. 1965.
\newblock {\em LISP 1.5 Programmer's Manual}.
\newblock Cambridge, Mass.: The MIT Press.

\bibskip\bibitem[\protect\authoryear{McDermott and
  Sussman}{1974}]{McDermott-Sussman74}
{\leavevmode\kern-2em}McDermott, Drew~V. and Gerald~Jay Sussman.
  1974~(January).
\newblock The conniver reference manual.
\newblock AI Memo\ 295a, Massachusetts Institute of Technology, Artificial
  Intelligence Laboratory.

\bibskip\bibitem[\protect\authoryear{McDermott}{1980}]{McDermott80}
{\leavevmode\kern-2em}McDermott, Drew. 1980~(July).
\newblock The prolog phenomenon.
\newblock {\em ACM SIGART Newsletter}, pages\ 16--20.
\newblock Number 72.

\bibskip\bibitem[\protect\authoryear{McDonald and
  Allison}{1989}]{McDonald-Allison89}
{\leavevmode\kern-2em}McDonald, C. and L.~Allison. 1989~(October).
\newblock Denotational semantics of a command interpreter and their
  implementation in standard ml.
\newblock {\em The Computer Journal}, 32(5):422--431.

\bibskip\bibitem[\protect\authoryear{Meyer}{1988}]{Meyer88}
{\leavevmode\kern-2em}Meyer, Bertrand. 1988.
\newblock {\em Object-oriented Software Construction}.
\newblock New York, NY: Prentice Hall.

\bibskip\bibitem[\protect\authoryear{Meyer}{1990}]{Meyer90}
{\leavevmode\kern-2em}\bibrule. 1990.
\newblock {\em Introduction to the Theory of Programming Languages}.
  International Series in Computer Science.
\newblock New York, NY: Prentice Hall.

\bibskip\bibitem[\protect\authoryear{Miller \bgroup \em et~al.\egroup
  }{1991}]{Miller-etal91}
{\leavevmode\kern-2em}Miller, D., G.~Nadathur, F.~Pfenning, and A.~Scedrov.
  1991~(March).
\newblock Uniform proofs as a foundation for logic programming.
\newblock {\em Annals of Pure and Applied Logic}, 51(1-2):125--158.

\bibskip\bibitem[\protect\authoryear{Miller}{1989}]{Miller90b}
{\leavevmode\kern-2em}Miller, Dale. 1989.
\newblock Abstractions in logic programs.
\newblock In Odifreddi, P., editor, {\em Logic and Computer Science}, pages\
  329--359. Academic Press.

\bibskip\bibitem[\protect\authoryear{Miller}{1990}]{Miller90}
{\leavevmode\kern-2em}\bibrule. 1990.
\newblock A logic programming language with lambda-abstraction function
  variables, and simple unification.
\newblock In Schroeder-Heister, Peter, editor, {\em Extensions of Logic
  Programming, International Workshop, Tubingen, FRG, December, 1989}, Vol.\
  475 of {\em Lecture Notes in Computer Science}, pages\ 253--282. New York,
  NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Miller}{1991}]{Miller91}
{\leavevmode\kern-2em}\bibrule. 1991.
\newblock A logic programming language with lambda-abstraction, function
  variables, and simple unification.
\newblock {\em Journal of Logic and Computation}, 1(4):497--536.

\bibskip\bibitem[\protect\authoryear{Millstein and
  Chambers}{1999}]{Millstein-Chambers99}
{\leavevmode\kern-2em}Millstein, Todd and Craig Chambers. 1999~(June).
\newblock Modular statically typed multimethods.
\newblock In Guerraoui, Rachid, editor, {\em ECOOP '99 --- Object-Oriented
  Programming 13th European Conference, Lisbon Portugal}, Vol.\ 1628 of {\em
  Lecture Notes in Computer Science}, pages\ 279--303. New York, NY:
  Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Milner and Tofte}{1991}]{Milner-Tofte91}
{\leavevmode\kern-2em}Milner, Robin and Mads Tofte. 1991.
\newblock {\em Commentary on Standard {ML}}.
\newblock Cambridge, Mass.: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Milner, Parrow, and
  Walker}{1992}]{Milner-Parrow-Walker92}
{\leavevmode\kern-2em}Milner, R., J.~Parrow, and D.~Walker. 1992.
\newblock A calculus of mobile processes, ({P}arts {I} and {II}).
\newblock {\em Information and Computation}, 100:1--77.

\bibskip\bibitem[\protect\authoryear{Milner, Tofte, and
  Harper}{1990}]{Milner-Tofte-Harper90}
{\leavevmode\kern-2em}Milner, Robin, Mads Tofte, and Robert Harper. 1990.
\newblock {\em The Definition of Standard {ML}}.
\newblock Cambridge, Mass.: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Milner}{1978}]{Milner78}
{\leavevmode\kern-2em}Milner, Robin. 1978~(December).
\newblock A theory of type polymorphism in programming.
\newblock {\em Journal of Computer and System Sciences}, 17(3):348--375.

\bibskip\bibitem[\protect\authoryear{Milner}{1989}]{Milner89}
{\leavevmode\kern-2em}\bibrule. 1989.
\newblock {\em Communication and Concurrency}. International Series in Computer
  Science.
\newblock New York, NY: Prentice Hall.

\bibskip\bibitem[\protect\authoryear{Milner}{1990}]{Milner90}
{\leavevmode\kern-2em}\bibrule. 1990.
\newblock Operational and algebraic semantics of concurrent processes.
\newblock In van Leewen, J., editor, {\em Handbook of Theoretical Computer
  Science}, Vol.\ B: Formal Models and Semantics, Chapter~19, pages\
  1201--1242. New York, NY: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Mitchell and
  Harper}{1988}]{Mitchell-Harper88}
{\leavevmode\kern-2em}Mitchell, John~C. and Robert Harper. 1988~(January).
\newblock The essence of ml.
\newblock In {\em Conference Record of the Fifteenth Annual ACM Symposium on
  Principles of Programming Languages, San Diego, Calif.}, pages\ 28--46. ACM.

\bibskip\bibitem[\protect\authoryear{Mitchell and
  Plotkin}{1985}]{Mitchell-Plotkin85}
{\leavevmode\kern-2em}Mitchell, John~C. and Gordon~D. Plotkin. 1985~(January).
\newblock Abstract types have existential type.
\newblock In {\em Conference Record of the 12th Annual ACM Symposium on
  Principles of Programming Languages, New Orleans, Louisana}, pages\ 37--51.
  ACM.

\bibskip\bibitem[\protect\authoryear{Mitchell}{1990a}]{Mitchell90a}
{\leavevmode\kern-2em}Mitchell, John~C. 1990a~(January).
\newblock Toward a typed foundation for method specialization and inheritance.
\newblock In {\em Conference Record of the Seventeenth Annual ACM Symposium on
  Principles of Programming Languages, San Francisco, Calif.}, pages\ 109--124.
  ACM.

\bibskip\bibitem[\protect\authoryear{Mitchell}{1990b}]{Mitchell90b}
{\leavevmode\kern-2em}\bibrule. 1990b.
\newblock Type systems for programming languages.
\newblock In van Leeuwen, J., editor, {\em Handbook of Theoretical Computer
  Science}, Vol.\ B: Formal Models and Semantics, Chapter~8, pages\ 365--458.
  New York, NY: North-Holland.

\bibskip\bibitem[\protect\authoryear{Mitchell}{1991}]{Mitchell91}
{\leavevmode\kern-2em}\bibrule. 1991~(September).
\newblock On abstraction and the expressive power of programming languages.
\newblock In {\em Conference on Theoretical Aspects of Computer Software, Sendi
  Japan}.

\bibskip\bibitem[\protect\authoryear{Moggi}{1990}]{Moggi90}
{\leavevmode\kern-2em}Moggi, Eugenio. 1990.
\newblock An abstract view of programming languages.
\newblock Technical Report\ ECS-LFCS-90-113, Laboratory for Foundations of
  Computer Science, Department of Computer Science, University of Edinburgh,
  Edinburgh, EH9 3JZ.

\bibskip\bibitem[\protect\authoryear{Morgan}{1994}]{Morgan94}
{\leavevmode\kern-2em}Morgan, Carroll. 1994.
\newblock {\em Programming from Specifications: Second Edition}.
\newblock Hempstead, UK: Prentice Hall International.

\bibskip\bibitem[\protect\authoryear{Morris}{1973}]{Morris73a}
{\leavevmode\kern-2em}Morris, James~H., Jr. 1973~(January).
\newblock Protection in programming languages.
\newblock {\em Communications of the ACM}, 16(1):15--21.

\bibskip\bibitem[\protect\authoryear{Mosses}{1990}]{Mosses90}
{\leavevmode\kern-2em}Mosses, Peter~D. 1990.
\newblock Denotational semantics.
\newblock In van Leewen, J., editor, {\em Handbook of Theoretical Computer
  Science}, Vol.\ B: Formal Models and Semantics, Chapter~11, pages\ 577--631.
  New York, NY: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Mosses}{1992}]{Mosses92}
{\leavevmode\kern-2em}\bibrule. 1992.
\newblock {\em Cambridge Tracts in Theoretical Computer Science}. Volume~26,
  {\em Action Semantics}.
\newblock New York, NY: Cambridge University Press.

\bibskip\bibitem[\protect\authoryear{Mullender}{1993}]{Mullender93}
{\leavevmode\kern-2em}Mullender, Sape, editor. 1993.
\newblock {\em Distributed Systems}. second edition.
\newblock New York, NY: Addison-Wesley.

\bibskip\bibitem[\protect\authoryear{Mullin}{1989}]{Mullin89}
{\leavevmode\kern-2em}Mullin, Mark. 1989.
\newblock {\em Object Oriented Program Design With Examples in {C}++}.
\newblock Reading, Mass.: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Myers, Bank, and
  Liskov}{1997}]{Myers-Bank-Liskov97}
{\leavevmode\kern-2em}Myers, Andrew~C., Joseph~A. Bank, and Barbara Liskov.
  1997~(January).
\newblock Parameterized types for {Java}.
\newblock In {\em Conference Record of POPL '97: The 24th ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages}, pages\ 132--145, New York,
  NY.

\bibskip\bibitem[\protect\authoryear{Nadathur and
  Miller}{1990}]{Nadathur-Miller90}
{\leavevmode\kern-2em}Nadathur, G. and D.~Miller. 1990~(October).
\newblock Higher-order horn clauses.
\newblock {\em Journal of the ACM}, 37(4):777--814.

\bibskip\bibitem[\protect\authoryear{Naur \bgroup \em et~al.\egroup
  }{1963}]{Naur-etal63}
{\leavevmode\kern-2em}Naur, Peter, J.~W. Backus, F.~L. Bauer, J.~Green,
  C.~Katz, J.~McCarthy, A.~J. Perlis, H.~Rutishauser, K.~Samelson, B.~Vauquois,
  J.~H. Wegstein, A.~van Wijngaarden, and M.~Woodger. 1963~(January).
\newblock Revised report on the algorithmic language algol 60.
\newblock {\em Communications of the ACM}, 1(17).

\bibskip\bibitem[\protect\authoryear{Nelson}{1991}]{Nelson91}
{\leavevmode\kern-2em}Nelson, Greg. 1991.
\newblock {\em Systems Programming with Modula-3}.
\newblock Prentice-Hall.

\bibskip\bibitem[\protect\authoryear{Nielson and
  Neilson}{1992}]{Neilson-Neilson92}
{\leavevmode\kern-2em}Nielson, F. and H.R. Neilson. 1992.
\newblock {\em Semantics with Applications - A Formal Introduction}.
\newblock New York, NY: John Wiley and Sons.

\bibskip\bibitem[\protect\authoryear{Nipkov and
  Prehofer}{1994}]{Nipkow-Prehofer94}
{\leavevmode\kern-2em}Nipkov, Tobias and Christian Prehofer. 1994~(April).
\newblock Type reconstruction for type classes.
\newblock {\em Journal of Functional Programming}, 5(2):201--224.

\bibskip\bibitem[\protect\authoryear{Nipkow and von
  Oheimb}{1998}]{Nipkow-Oheimb98}
{\leavevmode\kern-2em}Nipkow, Tobias and David von Oheimb. 1998~(January).
\newblock Java$_{light}$ is type-safe --- definitely.
\newblock In {\em Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, San Diego, California},
  pages\ 161--170, New York, NY.

\bibskip\bibitem[\protect\authoryear{Nordlander}{1999}]{Nordlander99}
{\leavevmode\kern-2em}Nordlander, Johan. 1999~(June).
\newblock Pragmatic subtyping in polymorphic languages.
\newblock In {\em Proceedings of the ACM SIGPLAN International Conference on
  Functional Programming (ICFP '98)}, Vol.\ 34(1) of {\em ACM SIGPLAN Notices},
  pages\ 216--227. ACM.

\bibskip\bibitem[\protect\authoryear{Nordstr\"{o}m and
  Peterson}{1983}]{Nordstrom-Peterson83}
{\leavevmode\kern-2em}Nordstr\"{o}m, Bengt and Kent Peterson. 1983~(September).
\newblock Types and specifications.
\newblock In Mason, R. E.~A., editor, {\em Information Processing 83}, pages\
  915--920. Elsevier Science Publishers B.V. (North-Holland).
\newblock Proceedings of the IFIP 9th World Computer Congress, Paris, France.

\bibskip\bibitem[\protect\authoryear{Odersky and
  L\"{a}ufer}{1996}]{Odersky-Laufer96}
{\leavevmode\kern-2em}Odersky, Martin and Konstantin L\"{a}ufer.
  1996~(January).
\newblock Putting type annotations to work.
\newblock In {\em Conference Record of POPL '96: The 23rd ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, St. Petersberg Beach,
  Florida}, pages\ 54--67, New York, NY.

\bibskip\bibitem[\protect\authoryear{Odersky and
  Wadler}{1997}]{Odersky-Wadler97}
{\leavevmode\kern-2em}Odersky, Martin and Philip Wadler. 1997~(January).
\newblock Pizza into {Java}: Translating theory into practice.
\newblock In {\em Conference Record of POPL '97: The 24th ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages}, pages\ 146--159, New York,
  NY.

\bibskip\bibitem[\protect\authoryear{Odersky, Sulzmann, and
  Wehr}{1999}]{Odersky-Sulzmann-Wehr99}
{\leavevmode\kern-2em}Odersky, Martin, Martin Sulzmann, and Martin Wehr. 1999.
\newblock Type inference with constrained types.
\newblock {\em Theory and Practice of Object Systems}, 5(1):35--55.

\bibskip\bibitem[\protect\authoryear{Odersky}{1999}]{Odersky99}
{\leavevmode\kern-2em}Odersky, Martin. 1999~(June).
\newblock Programming with variable functions.
\newblock In {\em Proceedings of the ACM SIGPLAN International Conference on
  Functional Programming (ICFP '98)}, Vol.\ 34(1) of {\em ACM SIGPLAN Notices},
  pages\ 105--116. ACM.

\bibskip\bibitem[\protect\authoryear{Okasaki}{1998}]{Okasaki98}
{\leavevmode\kern-2em}Okasaki, Chris. 1998.
\newblock {\em Purely Functional Data Structures}.
\newblock Cambridge, UK: Cambridge University Press.

\bibskip\bibitem[\protect\authoryear{O'Toole and
  Gifford}{1989}]{OToole-Gifford89}
{\leavevmode\kern-2em}O'Toole, James~William and David~K. Gifford. 1989~(July).
\newblock Type reconstruction with first-class polymorphic values.
\newblock {\em ACM SIGPLAN Notices}, 24(7):207--217.
\newblock Proceedings of the SIGPLAN '89 Conference on Programming Language
  Design and Implementation, Portland, Oregon, June.

\bibskip\bibitem[\protect\authoryear{Paepcke}{1993}]{Paepcke93}
{\leavevmode\kern-2em}Paepcke, Andreas. 1993.
\newblock {\em Object-Oriented Programming: The {CLOS} Perspective}.
\newblock The MIT Press.

\bibskip\bibitem[\protect\authoryear{Palsberg and
  Pavlopoulou}{1998}]{Palsberg-Pavlopoulou98}
{\leavevmode\kern-2em}Palsberg, Jens and Christina Pavlopoulou. 1998~(January).
\newblock From polyvariant flow information to intersection and union types.
\newblock In {\em Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, San Diego, California},
  pages\ 197--208, New York, NY.

\bibskip\bibitem[\protect\authoryear{Palsberg and
  Schwartzbach}{1994}]{Palsberg-Schwartzbach94}
{\leavevmode\kern-2em}Palsberg, Jens and Michael~I. Schwartzbach. 1994.
\newblock {\em Object-Oriented Type Systems}.
\newblock John Wiley and sons.

\bibskip\bibitem[\protect\authoryear{Papelis and
  Casavant}{1992}]{Papelis-Casavant92}
{\leavevmode\kern-2em}Papelis, Yiannis~E. and Thomas~L. Casavant. 1992~(March).
\newblock Specification and analysis of parallel/distributed software and
  systems by using petri nets with transition enabling functions.
\newblock {\em IEEE Transactions on Software Engineering}, 18(3):252--261.

\bibskip\bibitem[\protect\authoryear{Paulson}{1991}]{Paulson91}
{\leavevmode\kern-2em}Paulson, Laurence~C. 1991.
\newblock {\em {ML} for the Working Programmer}.
\newblock New York, NY: Cambridge University Press.

\bibskip\bibitem[\protect\authoryear{Peterson}{1977}]{Peterson77}
{\leavevmode\kern-2em}Peterson, J.~L. 1977~(September).
\newblock Petri nets.
\newblock {\em ACM Computing Surveys}, 9(3):221--252.

\bibskip\bibitem[\protect\authoryear{Peterson}{1987}]{Peterson87}
{\leavevmode\kern-2em}Peterson, Gerald~E., editor. 1987.
\newblock {\em Tutorial: Object-Oriented Computing}.
\newblock Los Angeles, Calif.: IEEE Computer Society Press.
\newblock Volume 1: concepts; volume 2: implementations.

\bibskip\bibitem[\protect\authoryear{{Peyton Jones}}{1987}]{Peyton-Jones87}
{\leavevmode\kern-2em}{Peyton Jones}, S.~L. 1987.
\newblock {\em The Implementation of Functional Programming Languages}.
\newblock Englewood Cliffs, N.J.: Prentice-Hall.

\bibskip\bibitem[\protect\authoryear{Pfenning}{1991}]{Pfenning91}
{\leavevmode\kern-2em}Pfenning, Frank. 1991.
\newblock Logic programming in the {LF} logical framework.
\newblock In Huet, G\'{e}rard and Gordon Plotkin, editors, {\em Logical
  Frameworks}, pages\ 149--181. Cambridge University Press.

\bibskip\bibitem[\protect\authoryear{Pfenning}{1992}]{Pfenning92}
{\leavevmode\kern-2em}Pfenning, Frank, editor. 1992.
\newblock {\em Types in Logic Programming}. Logic Programming Series.
\newblock Cambridge, Mass.: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Pierce and Turner}{1994}]{Pierce-Turner94}
{\leavevmode\kern-2em}Pierce, Benjamin~C. and David~N. Turner. 1994~(April).
\newblock Simple type-theoretic foundations for object-oriented programming.
\newblock {\em Journal of Functional Programming}, 4(2):207--248.
\newblock A preliminary version appeared in POPL 1993.

\bibskip\bibitem[\protect\authoryear{Pierce and Turner}{1998}]{Pierce-Turner98}
{\leavevmode\kern-2em}\bibrule. 1998~(January).
\newblock Local type inference.
\newblock In {\em Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, San Diego, California},
  pages\ 252--265, New York, NY.

\bibskip\bibitem[\protect\authoryear{Pierce, Dietzen, and
  Michaylov}{1989}]{Pierce-Dietzen-Michaylov89}
{\leavevmode\kern-2em}Pierce, Benjamin, Scott Dietzen, and Spiro Michaylov.
  1989~(March).
\newblock Programming in higher-order typed lambda-calculi.
\newblock Technical Report\ CMU-CS-89-111, School of Computer Science, Carnegie
  Mellon University.

\bibskip\bibitem[\protect\authoryear{Pierce}{1991}]{Pierce91}
{\leavevmode\kern-2em}Pierce, Benjamin~C. 1991.
\newblock {\em Basic Category Theory for Computer Scientists}.
\newblock Cambridge, Mass: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Pitman}{1983}]{Pitman83}
{\leavevmode\kern-2em}Pitman, Kent~M. 1983~(May).
\newblock The revised maclisp manual.
\newblock Technical Report\ TR-295, Massachusetts Institute of Technology,
  Laboratory for Computer Science.

\bibskip\bibitem[\protect\authoryear{Plotkin}{1977}]{Plotkin77}
{\leavevmode\kern-2em}Plotkin, G.~D. 1977.
\newblock {LCF} considered as a programming language.
\newblock {\em Theoretical Computer Science}, 5:223--255.

\bibskip\bibitem[\protect\authoryear{Popek \bgroup \em et~al.\egroup
  }{1977}]{Popek-etal77}
{\leavevmode\kern-2em}Popek, G.~J., J.~J. Horning, B.~W. Lampson, J.~G.
  Mitchell, and R.~L. London. 1977~(March).
\newblock Notes on the design of euclid.
\newblock {\em ACM SIGPLAN Notices}, 12(3):11--18.
\newblock Proceedings of an ACM Conference on Language Design for Reliable
  Software, Raliegh, North Carolina, March, 1977.

\bibskip\bibitem[\protect\authoryear{Pottier}{1999}]{Pottier99}
{\leavevmode\kern-2em}Pottier, Fran\c{c}ois. 1999~(June).
\newblock A framework for type inference with subtyping.
\newblock In {\em Proceedings of the ACM SIGPLAN International Conference on
  Functional Programming (ICFP '98)}, Vol.\ 34(1) of {\em ACM SIGPLAN Notices},
  pages\ 228--238. ACM.

\bibskip\bibitem[\protect\authoryear{Prasad, Giacalone, and
  Mishra}{1990}]{Prasad-Giacalone-Mishra90}
{\leavevmode\kern-2em}Prasad, S., A.~Giacalone, and P.~Mishra. 1990~(July).
\newblock Operational and algebraic semantics of facile: {A} symmetric
  integration of concurrent and functional programming.
\newblock In {\em Proceedings of the 17th International Colloquium on Automata,
  Languages and Programming (ICALP'90)}, Vol.\ 443 of {\em LNCS}, pages\
  765--780. Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Pratt and
  Zelkowitz}{1996}]{Pratt-Zelkowitz96}
{\leavevmode\kern-2em}Pratt, Terrence~W. and Marvin~V. Zelkowitz. 1996.
\newblock {\em Programming Languages: Design and Implementation}. Third edition
  edition.
\newblock Englewood Cliffs, NJ: Prentice-Hall.

\bibskip\bibitem[\protect\authoryear{Qian}{1994}]{Qian94}
{\leavevmode\kern-2em}Qian, Zhenyu. 1994~(January).
\newblock Higher-order equational logic programming.
\newblock In {\em Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, Portland, Oregon}, pages\
  254--267, New York, NY.

\bibskip\bibitem[\protect\authoryear{R\'{e}my and
  Vouillon}{1998}]{Remy-Vouillon98}
{\leavevmode\kern-2em}R\'{e}my, Didier and J\'{e}r\^{o}me Vouillon. 1998.
\newblock {Objective ML}: An effective object-oriented extension of {ML}.
\newblock {\em Theory and Practice of Object Systems}, 4(1):27--52.

\bibskip\bibitem[\protect\authoryear{Reppey}{1993}]{Reppy93}
{\leavevmode\kern-2em}Reppey, John~H. 1993~(February).
\newblock Concurrent programming with events - the concurrent ml manual.
\newblock Technical report, AT\&T Bell Labs.
\newblock Available by anonymous ftp from research.att.com.

\bibskip\bibitem[\protect\authoryear{Reppy and Riecke}{1996}]{Reppy-Riecke96}
{\leavevmode\kern-2em}Reppy, John and Jon Riecke. 1996~(May).
\newblock Simple objects for standard ml.
\newblock {\em ACM SIGPLAN Notices}, 31(5):171--180.
\newblock Proceedings of the 1996 ACM SIGPLAN Conference on Programming
  Language Design and Implementation (PLDI).

\bibskip\bibitem[\protect\authoryear{Reynolds}{1974}]{Reynolds74}
{\leavevmode\kern-2em}Reynolds, J.~C. 1974.
\newblock Towards a theory of type structure.
\newblock In {\em Programming Symposium, Proceedings, Colloque sur la
  Programmation, Paris, April 1974}, Vol.~19 of {\em Lecture Notes in Computer
  Science}, pages\ 408--425. New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Reynolds}{1980}]{Reynolds80}
{\leavevmode\kern-2em}Reynolds, John~C. 1980~(January).
\newblock Using category theory to design implicit conversions and generic
  operators.
\newblock In Jones, Neil~D., editor, {\em Semantics-Directed Compiler
  Generation, Proceedings of a Workshop, Aarhus, Denmark}, Vol.~94 of {\em
  Lecture Notes in Computer Science}, pages\ 211--258. Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Reynolds}{1985}]{Reynolds85}
{\leavevmode\kern-2em}\bibrule. 1985~(March).
\newblock Three approaches to type structure.
\newblock In Ehrig, Hartmut, Christiane Floyd, Maurice Nivat, and James
  Thatcher, editors, {\em Mathematical Foundations of Software Development,
  Proceedings of the International Joint Conference on Theory and Practice of
  Software Development (TAPSOFT), Berlin. Volume 1: Colloquium on Trees in
  Algebra and Programming (CAAP '85)}, Vol.\ 185 of {\em Lecture Notes in
  Computer Science}, pages\ 97--138. New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Rinard and Lam}{1992}]{Rinard-Lam92}
{\leavevmode\kern-2em}Rinard, Martin~C. and Monica~S. Lam. 1992~(January).
\newblock Semantic foundations of jade.
\newblock In {\em Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages}, pages\ 105--118. ACM.

\bibskip\bibitem[\protect\authoryear{Rinard, Scales, and
  Lam}{1993}]{Rinard-Scales-Lam93}
{\leavevmode\kern-2em}Rinard, Martin~C., Daniel~J. Scales, and Monica~S. Lam.
  1993~(June).
\newblock Jade: A high level machine independent language for parallel
  programming.
\newblock {\em COMPUTER}, 26(6):28--38.

\bibskip\bibitem[\protect\authoryear{Roman}{1998}]{McCann-Roman98}
{\leavevmode\kern-2em}Roman, Peter J. McCann Gruia-Catalin. 1998~(February).
\newblock Compositional programming abstractions for mobile computing.
\newblock {\em IEEE Transactions on Software Engineering}, 24(2):97--110.

\bibskip\bibitem[\protect\authoryear{Scedrov}{1990}]{Scedrov90}
{\leavevmode\kern-2em}Scedrov, Andre. 1990.
\newblock A guide to polymorphic types.
\newblock In Odifreddi, P., editor, {\em Logic and Computer Science}, Vol.~31
  of {\em APIC Series}, pages\ 387--420. New York, NY: Academic Press.

\bibskip\bibitem[\protect\authoryear{Schaffert \bgroup \em et~al.\egroup
  }{1986}]{Schaffert-etal86}
{\leavevmode\kern-2em}Schaffert, Craig, Topher Cooper, Bruce Bullis, Mike
  Kilian, and Carrie Wilpolt. 1986~(November).
\newblock An introduction to {Trellis/Owl}.
\newblock {\em ACM SIGPLAN Notices}, 21(11):9--16.
\newblock OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor),
  September 1986, Portland, Oregon.

\bibskip\bibitem[\protect\authoryear{Schmidt}{1986}]{Schmidt86}
{\leavevmode\kern-2em}Schmidt, David~A. 1986.
\newblock {\em Denotational Semantics: A Methodology for Language Development}.
\newblock Boston, Mass.: Allyn and Bacon, Inc.

\bibskip\bibitem[\protect\authoryear{Schmidt}{1994}]{Schmidt94}
{\leavevmode\kern-2em}\bibrule. 1994.
\newblock {\em The Structure of Typed Programming Languages}. Foundations of
  Computing Series.
\newblock Cambridge, Mass.: MIT Press.

\bibskip\bibitem[\protect\authoryear{Schubert}{1998}]{Schubert98}
{\leavevmode\kern-2em}Schubert, Aleksy. 1998~(January).
\newblock Second-order unification and type inference for {Church-style}
  polymorphism.
\newblock In {\em Conference Record of POPL 98: The 25TH ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, San Diego, California},
  pages\ 279--288, New York, NY.

\bibskip\bibitem[\protect\authoryear{Scott}{1981}]{Scott81}
{\leavevmode\kern-2em}Scott, Dana. 1981.
\newblock Lectures on a mathematical theory of computation.
\newblock Technical Monograph\ PRG-19, Oxford University Computing Laboratory,
  Programming Research Group.
\newblock Appears in Theoretical foundations of programming methodology :
  lecture notes of an international summer school, directed by F.L. Bauer, E.W.
  Dijkstra, and C.A.R. Hoare (Ridel, 1982).

\bibskip\bibitem[\protect\authoryear{Sebesta}{1996}]{Sebesta96}
{\leavevmode\kern-2em}Sebesta, Robert~W. 1996.
\newblock {\em Concepts of Programming Languages}. Third edition.
\newblock Redwood City, Calif.: Benjamin/Cummings.

\bibskip\bibitem[\protect\authoryear{Sethi}{1996}]{Sethi96}
{\leavevmode\kern-2em}Sethi, Ravi. 1996.
\newblock {\em Programming Languages: Concepts and Constructs}. Second edition.
\newblock Reading, Mass.: Addison-Wesley.

\bibskip\bibitem[\protect\authoryear{Shapiro and
  Warren}{1993}]{Shapiro-Warren93}
{\leavevmode\kern-2em}Shapiro, Ehud and David~H.D. Warren. 1993~(March).
\newblock The fifth generation project: Personal perspectives.
\newblock {\em Communications of the ACM}, 36(3):46--48.

\bibskip\bibitem[\protect\authoryear{Shapiro}{1989}]{Shapiro89}
{\leavevmode\kern-2em}Shapiro, Ehud. 1989~(September).
\newblock The family of concurrent logic programming languages.
\newblock {\em ACM Computing Surveys}, 21(3):413--510.

\bibskip\bibitem[\protect\authoryear{Shaw and Wulf}{1980}]{Shaw-Wulf80}
{\leavevmode\kern-2em}Shaw, Mary and William~A. Wulf. 1980~(March).
\newblock Toward relaxing assumptions in languages and their implementations.
\newblock {\em ACM SIGPLAN Notices}, 15(3):45--61.

\bibskip\bibitem[\protect\authoryear{Shaw, Wulf, and
  London}{1977}]{Shaw-Wulf-London77}
{\leavevmode\kern-2em}Shaw, Mary, William~A. Wulf, and R.~L. London.
  1977~(August).
\newblock Abstraction and verification in alphard: Defining and specifying
  iteration and generators.
\newblock {\em Communications of the ACM}, 20(8):553--564.

\bibskip\bibitem[\protect\authoryear{Shaw}{1981}]{Shaw81a}
{\leavevmode\kern-2em}Shaw, Mary. 1981.
\newblock {\em ALPHARD: Form and Content}.
\newblock New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Shriver and
  Wegner}{1987}]{Shriver-Wegner87}
{\leavevmode\kern-2em}Shriver, Bruce and Peter Wegner, editors. 1987.
\newblock {\em Research Directions in Object-Oriented Programming}.
\newblock Cambridge, Mass.: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Skillicorn and
  Talia}{1995}]{Skillicorn-Talia95}
{\leavevmode\kern-2em}Skillicorn, David~B. and Domenico Talia. 1995.
\newblock {\em Programming Languages for Parallel Processing}.
\newblock IEEE Computer Society Press.

\bibskip\bibitem[\protect\authoryear{Skillicorn and
  Talia}{1998}]{Skillicorn-Talia98}
{\leavevmode\kern-2em}\bibrule. 1998~(June).
\newblock Models and languages for parallel computation.
\newblock {\em ACM Computing Surveys}, 30(2):123--169.

\bibskip\bibitem[\protect\authoryear{Slagle}{1974}]{Slagle74}
{\leavevmode\kern-2em}Slagle, James~R. 1974~(October).
\newblock Automated theorem-proving for theories with simplifiers,
  commutativity, and associativity.
\newblock {\em Journal of the ACM}, 21(4):622--642.

\bibskip\bibitem[\protect\authoryear{Slonneger and
  Kurtz}{1995}]{Slonneger-Kurtz95}
{\leavevmode\kern-2em}Slonneger, Kenneth and Barry~L. Kurtz. 1995.
\newblock {\em Formal Syntax and Semantics of Programming Languages}.
\newblock New York, NY: Addison-Wesley.

\bibskip\bibitem[\protect\authoryear{Smetsers \bgroup \em et~al.\egroup
  }{1994}]{Smetsers-etal94}
{\leavevmode\kern-2em}Smetsers, S., E.~Barendsen, M.~v.~Eekelen, and
  R.~Plasmeijer. 1994.
\newblock
  \nwanchorto
{ftp://ftp.cs.kun.nl/pub/CSI/SoftwEng.FunctLang/papers/smes94-gu%
aranteeing.ps.gz}{Guaranteeing safe destructive updates through a type system
  with uniqueness information for graphs}.
\newblock {\em Lecture Notes in Computer Science}, 776:358--379.

\bibskip\bibitem[\protect\authoryear{Snow}{1992}]{Snow92}
{\leavevmode\kern-2em}Snow, C.~R. 1992.
\newblock {\em Cambridge Computer Science Texts}. Volume~26, {\em Concurrent
  Programming}.
\newblock New York, NY: Cambridge University Press.

\bibskip\bibitem[\protect\authoryear{Snyder}{1986}]{Snyder86b}
{\leavevmode\kern-2em}Snyder, Alan. 1986~(November).
\newblock Encapsulation and inheritance in object-oriented programming
  languages.
\newblock {\em ACM SIGPLAN Notices}, 21(11):38--45.
\newblock OOPSLA '86 Conference Proceedings, Norman Meyrowitz (editor),
  September 1986, Portland, Oregon.

\bibskip\bibitem[\protect\authoryear{Sokolowski}{1991}]{Sokolowski91}
{\leavevmode\kern-2em}Sokolowski, S. 1991.
\newblock {\em Applicative High Order Programming}. Chapman and Hall Computing
  Series.
\newblock New York, NY: Chapman \& Hall Computing.

\bibskip\bibitem[\protect\authoryear{Springer and
  Friedman}{1989}]{Springer-Friedman89}
{\leavevmode\kern-2em}Springer, George and Daniel~P. Friedman. 1989.
\newblock {\em Scheme and the Art of Programming}.
\newblock New York, NY: McGraw-Hill.

\bibskip\bibitem[\protect\authoryear{Stallman, Moon, and
  Weinreb}{1984}]{Stallman-Moon-Weinreb84}
{\leavevmode\kern-2em}Stallman, Richard, David Moon, and Daniel Weinreb.
  1984~(June).
\newblock {\em Lisp Machine Manual (sixth edition)}.
\newblock Cambridge, Mass.: Massachusetts Institute of Technology, Artificial
  Intelligence Laboratory.

\bibskip\bibitem[\protect\authoryear{Stanisfer}{1992}]{Stanisfer92}
{\leavevmode\kern-2em}Stanisfer, Ryan. 1992.
\newblock {\em {ML} Primer}.
\newblock Englewood Cliffs, NJ: Prentice Hall.

\bibskip\bibitem[\protect\authoryear{Stanisfer}{1995}]{Stanisfer95}
{\leavevmode\kern-2em}\bibrule. 1995.
\newblock {\em The Study of Programming Languages}.
\newblock Englewood Cliffs, NJ: Prentice Hall.

\bibskip\bibitem[\protect\authoryear{{Steele Jr.} and
  Sussman}{1978a}]{Steele-Sussman78b}
{\leavevmode\kern-2em}{Steele Jr.}, Guy~Lewis and Gerald~Jay Sussman.
  1978a~(May).
\newblock The art of the interpreter or, the modularity complex (parts zero,
  one, and two).
\newblock AI Memo\ 453, Massachusetts Institute of Technology, Artificial
  Intelligence Laboratory.

\bibskip\bibitem[\protect\authoryear{{Steele Jr.} and
  Sussman}{1978b}]{Steele-Sussman78a}
{\leavevmode\kern-2em}\bibrule. 1978b~(January).
\newblock Revised report on scheme a dialect of lisp.
\newblock AI Memo\ 452, Massachusetts Institute of Technology, Artificial
  Intelligence Laboratory.

\bibskip\bibitem[\protect\authoryear{{Steele Jr.}}{1984}]{Steele84}
{\leavevmode\kern-2em}{Steele Jr.}, Guy~L. 1984.
\newblock {\em Common LISP: The Language}.
\newblock Burlington, Mass.: Digital Press.

\bibskip\bibitem[\protect\authoryear{{Steele Jr.}}{1990}]{Steele90}
{\leavevmode\kern-2em}\bibrule. 1990.
\newblock {\em Common LISP: The Language}. Second edition.
\newblock Bedford, Mass.: Digital Press.

\bibskip\bibitem[\protect\authoryear{{Steele, Jr.}}{1994}]{Steele94}
{\leavevmode\kern-2em}{Steele, Jr.}, Guy~L. 1994~(January).
\newblock Building interpreters by composing monads.
\newblock In {\em Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages, Portland, Oregon}, pages\
  472--492. ACM.

\bibskip\bibitem[\protect\authoryear{Sterling and
  Shapiro}{1994}]{Sterling-Shapiro94}
{\leavevmode\kern-2em}Sterling, Leon and Ehud Shapiro. 1994.
\newblock {\em The Art of Prolog}. Second edition.
\newblock Cambridge, Mass.: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Stoy}{1977}]{Stoy77}
{\leavevmode\kern-2em}Stoy, J. 1977.
\newblock {\em Denotational Semantics: The Scott-Strachey Approach to
  Programming Language Theory}.
\newblock Cambridge, Mass.: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Stroustrup}{1991}]{Stroustrup91}
{\leavevmode\kern-2em}Stroustrup, Bjarne. 1991.
\newblock {\em The {C}++ Programming Language: Second Edition}.
\newblock Reading, Mass.: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Stroustrup}{1997}]{Stroustrup97}
{\leavevmode\kern-2em}\bibrule. 1997.
\newblock {\em The {C}++ Programming Language: Third Edition}.
\newblock Reading, Mass.: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Sussman and
  Steele}{1980}]{Sussman-Steele80}
{\leavevmode\kern-2em}Sussman, G. and G.~Steele. 1980.
\newblock Constraints: a language for expressing almost-hierarchical
  descriptions.
\newblock {\em Artificial Intelligence}, 14:1--39.

\bibskip\bibitem[\protect\authoryear{Sussman, Winograd, and
  Charniak}{1971}]{Sussman-Winograd-Charniak71}
{\leavevmode\kern-2em}Sussman, Gerald~Jay, Terry Winograd, and Eugene Charniak.
  1971~(December).
\newblock Micro-planner reference manual.
\newblock AI Memo\ 203A, Massachusetts Institute of Technology, Artificial
  Intelligence Laboratory.

\bibskip\bibitem[\protect\authoryear{{Symbolics, Inc.}}{1984}]{Symbolics84}
{\leavevmode\kern-2em}{Symbolics, Inc.} 1984~(March).
\newblock {\em Lisp Machine Manual}.
\newblock Cambridge, Mass.
\newblock Eight volumes.

\bibskip\bibitem[\protect\authoryear{Taivalsaari}{1996}]{Taivalsaari96}
{\leavevmode\kern-2em}Taivalsaari, Antero. 1996~(September).
\newblock On the notion of inheritance.
\newblock {\em ACM Computing Surveys}, 28(3):438--479.

\bibskip\bibitem[\protect\authoryear{Talpin and
  Jouvelot}{1994}]{Talpin-Jouvelot94}
{\leavevmode\kern-2em}Talpin, Jean-Pierre and Pierre Jouvelot. 1994~(June).
\newblock \nwanchorto
{http://cri.ensmp.fr/~talpin/ic94.ps.gz}{The type and
  effect discipline}.
\newblock {\em Information and Computation}, 111(2):245--296.

\bibskip\bibitem[\protect\authoryear{Tanenbaum \bgroup \em et~al.\egroup
  }{1990}]{Tanenbaum-etal90}
{\leavevmode\kern-2em}Tanenbaum, Andrew~S., Robert van Renesse, Hans van
  Staveren, Gregory~J. Sharp, Sape~J. Mullender, Jack Jansen, and Guido van
  Rossum. 1990~(December).
\newblock Experience with the amoeba distributed operating system.
\newblock {\em Communications of the ACM}, 33(12):46--63.

\bibskip\bibitem[\protect\authoryear{Tanenbaum, Kaashoek, and
  Bal}{1992}]{Tanenbaum-Kaashoek-Bal92}
{\leavevmode\kern-2em}Tanenbaum, Andrew~S., M.~Frans Kaashoek, and Henri~E.
  Bal. 1992~(August).
\newblock Parallel programming using shared objects and broadcasting.
\newblock {\em Computer}, 25(8):10--19.

\bibskip\bibitem[\protect\authoryear{Tanenbaum}{1976}]{Tanenbaum76}
{\leavevmode\kern-2em}Tanenbaum, Andrew~S. 1976~(June).
\newblock A tutorial on algol 68.
\newblock {\em ACM Computing Surveys}, 8(2).

\bibskip\bibitem[\protect\authoryear{Tennent}{1976}]{Tennent76}
{\leavevmode\kern-2em}Tennent, R.~D. 1976~(August).
\newblock The denotational semantics of programming languages.
\newblock {\em Communications of the ACM}, 19:437--453.

\bibskip\bibitem[\protect\authoryear{Tennent}{1977}]{Tennent77b}
{\leavevmode\kern-2em}\bibrule. 1977.
\newblock Language design methods based on semantic principles.
\newblock {\em Acta Informatica}, 8:97--112.

\bibskip\bibitem[\protect\authoryear{Tennent}{1981}]{Tennent81}
{\leavevmode\kern-2em}\bibrule. 1981.
\newblock {\em Principles of Programming Languages}.
\newblock Englewood Cliffs, N.J.: Prentice-Hall International.

\bibskip\bibitem[\protect\authoryear{Thompson}{1991}]{Thompson91}
{\leavevmode\kern-2em}Thompson, Simon. 1991.
\newblock {\em Type Theory and Functional Programming}. International Computer
  Science Series.
\newblock Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Thorn}{1997}]{Thorn97}
{\leavevmode\kern-2em}Thorn, Tommy. 1997~(September).
\newblock Programming languages for mobile code.
\newblock {\em ACM Computing Surveys}, 29(3):213--239.

\bibskip\bibitem[\protect\authoryear{Thorup}{1997}]{Thorup97}
{\leavevmode\kern-2em}Thorup, Kresten~Krab. 1997~(June).
\newblock Genericity in {Java} with virtual types.
\newblock In Ak\c{s}it, Mehmet and Satoshi Matsuoka, editors, {\em ECOOP '97
  --- Object-Oriented Programming 11th European Conference, Jyv\"{a}skyl\"{a},
  Finland}, Vol.\ 1241 of {\em Lecture Notes in Computer Science}, pages\
  444--471. New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Tiuryn}{1990}]{Tiuryn90}
{\leavevmode\kern-2em}Tiuryn, Jerzy. 1990.
\newblock Type inference probelms: A survey.
\newblock In Rovan, B., editor, {\em Mathematical Foundations of Computer
  Science 1990, Bansk\`a Bystrica, Czechoslovakia}, Vol.\ 452 of {\em Lecture
  Notes in Computer Science}, pages\ 105--120. New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Turner}{1990a}]{Turner90b}
{\leavevmode\kern-2em}Turner, David~A. 1990a.
\newblock An overview of miranda.
\newblock In Turner, David~A., editor, {\em Research Topics in Functional
  Programming}, University of Texas at Austin Year of Programming Series,
  pages\ 1--16. New York, NY: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Turner}{1990b}]{Turner90}
{\leavevmode\kern-2em}Turner, David~A., editor. 1990b.
\newblock {\em Research Topics in Functional Programming}. University of Texas
  at Austin Year of Programming Series.
\newblock New York, NY: Addison-Wesley Publishing Co.

\bibskip\bibitem[\protect\authoryear{Ullman}{1994}]{Ullman94}
{\leavevmode\kern-2em}Ullman, Jeffry~D. 1994.
\newblock {\em Elements of {ML} Programming}.
\newblock Englewood Cliffs, NJ: Prentice Hall.

\bibskip\bibitem[\protect\authoryear{Ungar and Smith}{1987}]{Ungar-Smith87}
{\leavevmode\kern-2em}Ungar, David and Randall~B. Smith. 1987~(December).
\newblock Self: The power of simplicity.
\newblock {\em ACM SIGPLAN Notices}, 22(12):227--241.
\newblock OOPSLA '87 Conference Proceedings, Norman Meyrowitz (editor), October
  1987, Orlando, Florida.

\bibskip\bibitem[\protect\authoryear{Utting and
  Robinson}{1992}]{Utting-Robinson92}
{\leavevmode\kern-2em}Utting, Mark and Ken Robinson. 1992.
\newblock Modular reasoning in an object-oriented refinement calculus.
\newblock In Bird, R.~S., C.~C. Morgan, and J.~C.~P. Woodcock, editors, {\em
  Mathematics of Program Construction, Second International Conference, Oxford,
  U.K., June/July}, Vol.\ 669 of {\em Lecture Notes in Computer Science},
  pages\ 344--367. New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{van Hentenryck, Saraswat,
  et~al.}{1996}]{Hentenryck-Saraswat96}
{\leavevmode\kern-2em}van Hentenryck, Pascal, Vijay Saraswat, et~al.
  1996~(December).
\newblock Strategic directions in object-oriented programming.
\newblock {\em ACM Computing Surveys}, 28(4):701--726.

\bibskip\bibitem[\protect\authoryear{van Leeuwen}{1990}]{vanLeeuwen90a}
{\leavevmode\kern-2em}van Leeuwen, Jan. 1990.
\newblock {\em Handbook of Theoretical Computer Science}. Vol.\ B: Formal
  Models and Semantics.
\newblock New York, NY: The MIT Press.

\bibskip\bibitem[\protect\authoryear{van Roy \bgroup \em et~al.\egroup
  }{1997}]{vanRoy-etal97}
{\leavevmode\kern-2em}van Roy, Peter, Seif Haridi, Per Brand, Gert Smolka,
  Michael Mehl, and Ralf Scheidhauer. 1997~(September).
\newblock Mobile objects in distributed oz.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  19(5):804--851.

\bibskip\bibitem[\protect\authoryear{van Wijngaarden \bgroup \em et~al.\egroup
  }{1977}]{vanWijngaarden-etal77}
{\leavevmode\kern-2em}van Wijngaarden, A., B.~J. Mailloux, J.~E.~L. Peck, C.~H.
  Koster, M.~Sintzoff, C.~H. Lindsey, L.~G. L.~T. Meertens, and R.~G. Fisker.
  1977.
\newblock Revised report on the algorithmic language algol 68.
\newblock {\em ACM SIGPLAN Notices}, 12(5):1--70.
\newblock This has also been published by Springer-Verlag, New York, N. Y., and
  in Acta Informatica, volume 5, pages 1-236 (1975).

\bibskip\bibitem[\protect\authoryear{Wadler and Blott}{1989}]{Wadler-Blott89}
{\leavevmode\kern-2em}Wadler, Philip and Stephen Blott. 1989~(January).
\newblock How to make ad-hoc polymorphism less ad hoc.
\newblock In {\em Conference Record of the Sixteenth Annual ACM Symposium on
  Principles of Programming Languages, Austin, Texas}, pages\ 60--76. ACM.

\bibskip\bibitem[\protect\authoryear{Wadler}{1992}]{Wadler92}
{\leavevmode\kern-2em}Wadler, Philip. 1992~(January).
\newblock The essence of functional programming.
\newblock In {\em Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT
  Symposium on Principles of Programming Languages}, pages\ 1--14. ACM.

\bibskip\bibitem[\protect\authoryear{Wadler}{1996}]{Wadler96}
{\leavevmode\kern-2em}\bibrule. 1996~(June).
\newblock Lazy versus strict.
\newblock {\em ACM Computing Surveys}, 28(2):318--320.

\bibskip\bibitem[\protect\authoryear{Wadler}{1997}]{Wadler97}
{\leavevmode\kern-2em}\bibrule. 1997~(September).
\newblock How to declare an imperative.
\newblock {\em ACM Computing Surveys}, 29(3):240--263.

\bibskip\bibitem[\protect\authoryear{Wadler}{1999}]{Wadler99}
{\leavevmode\kern-2em}\bibrule. 1999~(June).
\newblock The marriage of effects and monads.
\newblock In {\em Proceedings of the ACM SIGPLAN International Conference on
  Functional Programming (ICFP '98)}, Vol.\ 34(1) of {\em ACM SIGPLAN Notices},
  pages\ 63--74. ACM.

\bibskip\bibitem[\protect\authoryear{Walters}{1991}]{Walters91}
{\leavevmode\kern-2em}Walters, R. F.~C. 1991.
\newblock {\em Cambridge Computer Science Texts}. Volume~28, {\em Categories
  and Computer Science}.
\newblock New York, NY: Cambridge University Press.

\bibskip\bibitem[\protect\authoryear{Wasserman}{1980}]{Wasserman80}
{\leavevmode\kern-2em}Wasserman, Anthony~I. 1980.
\newblock {\em TUTORIAL Programming Language Design}.
\newblock Los Alamitos, Calif.: IEEE Computer Society Press.
\newblock Initally presented at Compsac80, The IEEE Computer Society's Fourth
  International Computer Software \& Applications Conference, October 27-31,
  1980. The IEEE catalog number is EHO 164-4.

\bibskip\bibitem[\protect\authoryear{Watt}{1986}]{Watt86}
{\leavevmode\kern-2em}Watt, D.~A. 1986.
\newblock Executable denotational semantics.
\newblock {\em Software: Practice and Experience}, 16(1):13--43.

\bibskip\bibitem[\protect\authoryear{Watt}{1990}]{Watt90}
{\leavevmode\kern-2em}Watt, David~A. 1990.
\newblock {\em Programming Language Concepts and Paradigms}. Prentice Hall
  International Series in Computer Science.
\newblock New York, NY: Prentice-Hall.

\bibskip\bibitem[\protect\authoryear{Watt}{1991}]{Watt91}
{\leavevmode\kern-2em}\bibrule. 1991.
\newblock {\em Programming Language Syntax and Semantics}. Prentice Hall
  International Series in Computer Science.
\newblock New York, NY: Prentice-Hall.

\bibskip\bibitem[\protect\authoryear{Wegbreit}{1974}]{Wegbreit74}
{\leavevmode\kern-2em}Wegbreit, Ben. 1974~(May).
\newblock The treatment of data types in {EL1}.
\newblock {\em Communications of the ACM}, 17(5):251--264.

\bibskip\bibitem[\protect\authoryear{Weihl}{1990}]{Weihl90}
{\leavevmode\kern-2em}Weihl, William~E. 1990~(April).
\newblock Linguistic support for atomic data types.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  12(2):178--202.

\bibskip\bibitem[\protect\authoryear{Weinreb and Moon}{1980}]{Weinreb-Moon80}
{\leavevmode\kern-2em}Weinreb, Daniel and David Moon. 1980~(November).
\newblock Flavors: Message passing in the lisp machine.
\newblock AI Memo\ 602, Massachusetts Institute of Technology, Artificial
  Intelligence Laboratory.

\bibskip\bibitem[\protect\authoryear{Wells}{1994}]{Wells94}
{\leavevmode\kern-2em}Wells, J.~B. 1994.
\newblock Typability and type checking in the second-order $\lambda$-calculus
  are equivalent and undecidable.
\newblock In {\em Proceedings Ninth Annual IEEE Symposium on Logic in Computer
  Science, Paris}, pages\ 176--185.

\bibskip\bibitem[\protect\authoryear{Wexelblat}{1978}]{Wexelblat78}
{\leavevmode\kern-2em}Wexelblat, Richard~L., editor. 1978~(June).
\newblock {\em Preprints --- History of Programming Languages Conference, Los
  Angeles, California}. ACM.
\newblock {\em ACM SIGPLAN Notices}, Volume 13, Number 8, August 1978.

\bibskip\bibitem[\protect\authoryear{Wexelblat}{1993}]{Wexelblat93}
{\leavevmode\kern-2em}Wexelblat, Richard~L., editor. 1993~(March).
\newblock {\em ACM SIGPLAN History of Programming Languages Conference (HOPL
  II), Preprints, Cambridge, MA, USA}. ACM.
\newblock {\em ACM SIGPLAN Notices}, Volume 28, Number 3.

\bibskip\bibitem[\protect\authoryear{Winskel}{1993}]{Winskel93}
{\leavevmode\kern-2em}Winskel, Glynn. 1993.
\newblock {\em The Formal Semantics of Programming Languages}. Foundations of
  Computer Science Series.
\newblock Cambridge, Mass.: The MIT Press.

\bibskip\bibitem[\protect\authoryear{Wirfs-Brock and
  Johnson}{1990}]{Wirfs-Brock-Johnson90}
{\leavevmode\kern-2em}Wirfs-Brock, Rebecca~J. and Ralph~E. Johnson.
  1990~(September).
\newblock Surveying current research in object-oriented design.
\newblock {\em Communications of the ACM}, 33(9):105--124.

\bibskip\bibitem[\protect\authoryear{Wirfs-Brock, Wilkerson, and
  Wiener}{1990}]{Wirfs-Brock-Wilkerson-Wiener90}
{\leavevmode\kern-2em}Wirfs-Brock, Rebecca, Brian Wilkerson, and Lauren Wiener.
  1990.
\newblock {\em Designing Object-Oriented Software}.
\newblock Englewood Cliffs, NJ 07632: Prentice-Hall.

\bibskip\bibitem[\protect\authoryear{Wirth and Hoare}{1966}]{Wirth-Hoare66}
{\leavevmode\kern-2em}Wirth, N. and C.~A.~R. Hoare. 1966~(June).
\newblock A contribution to the development of algol.
\newblock {\em Communications of the ACM}, 9(6):413--432.

\bibskip\bibitem[\protect\authoryear{Wirth}{1971}]{Wirth71a}
{\leavevmode\kern-2em}Wirth, N. 1971.
\newblock The programming language pascal.
\newblock {\em Acta Informatica}, 1(1):35--63.

\bibskip\bibitem[\protect\authoryear{Wirth}{1974}]{Wirth74}
{\leavevmode\kern-2em}Wirth, Niklaus. 1974.
\newblock On the design of programming languages.
\newblock In {\em Information Processing 74}, pages\ 386--393, New York, NY.

\bibskip\bibitem[\protect\authoryear{Wirth}{1975}]{Wirth75}
{\leavevmode\kern-2em}\bibrule. 1975~(June).
\newblock An assessment of the programming language pascal.
\newblock {\em IEEE Transactions on Software Engineering}, pages\ 192--198.

\bibskip\bibitem[\protect\authoryear{Wirth}{1985}]{Wirth85a}
{\leavevmode\kern-2em}\bibrule. 1985.
\newblock {\em Programming in Modula-2 (3rd corrected edition)}.
\newblock New York, NY: Springer-Verlag.

\bibskip\bibitem[\protect\authoryear{Wirth}{1988}]{Wirth88}
{\leavevmode\kern-2em}Wirth, N. 1988~(April).
\newblock Type extensions.
\newblock {\em ACM Transactions on Programming Languages and Systems},
  10(2):204--214.

\bibskip\bibitem[\protect\authoryear{Wyatt, Kavi, and
  Hufnagel}{1992}]{Wyatt-Kavi-Hufnagel92}
{\leavevmode\kern-2em}Wyatt, Barbara~B., Krishna Kavi, and Steve Hufnagel.
  1992~(November).
\newblock Parallelism in object-oriented languages: A survey.
\newblock {\em IEEE Software}, 9(6):56--66.

\end{thebibliography}
\endgroup
