\begin{thebibliography}{} \bibitem[\protect\citeauthoryear{Abadi and Cardelli}{1995}]{AbCa95} Abadi, M. and Cardelli, L. \newblock On {Subtyping} and {Matching}. \newblock In {\em Proceedings ECOOP'95}. Springer-Verlag, 1995. \newblock (To appear). \bibitem[\protect\citeauthoryear{Abadi \bgroup \em et al.\egroup }{1989}]{ACPP90} Abadi, M., Cardelli, L., Pierce, B.~C., and Plotkin, G.D. \newblock Dynamic typing in a statically typed language. \newblock Technical Report~47, Digital Equipment Corporation, Systems Research Center, Palo-Alto, California, June 1989. \bibitem[\protect\citeauthoryear{Abadi \bgroup \em et al.\egroup }{1990}]{ACCL90} Abadi, M., Cardelli, L., Curien, P.-L., and L{\'e}vy, J.-J. \newblock Explicit substitutions. \newblock Technical Report~54, Digital Equipment Corporation, Systems Research Center, Palo-Alto, California, February 1990. \bibitem[\protect\citeauthoryear{Albano \bgroup \em et al.\egroup }{1993}]{ABGO93} Albano, A., Bergamini, R., Ghelli, G., and Orsini, R. \newblock An introduction to the database programming language {Fibonacci}. \newblock FIDE Technical Report Series FIDE/92/64, FIDE Project Coordinator, Department of Computing Sciences, University of Glasgow, Glasgow G128QQ, 1993. \bibitem[\protect\citeauthoryear{Amadio and Cardelli}{1993}]{AmCa93} Amadio, R.M. and Cardelli, L. \newblock Subtyping recursive types. \newblock {\em ACM Transactions on Programming Languages and Systems}, 15(4), September 1993. \bibitem[\protect\citeauthoryear{Atkinson and Bunemann}{1987}]{AtBu86} Atkinson, M.P. and Bunemann, P. \newblock Types and persistence in database programming languages. \newblock {\em ACM Computing Surveys}, 19(2), June 1987. \bibitem[\protect\citeauthoryear{Birell \bgroup \em et al.\egroup }{1993}]{BNOW93} Birell, A., Nelson, G., Owicki, S., and Wobber, E. \newblock Network objects. \newblock In {\em 14th ACM Symposium on Operating System Principles}, pages 217--230, June 1993. \bibitem[\protect\citeauthoryear{Black and Hutchinson}{1990}]{BlHu90} Black, Andrew~P. and Hutchinson, Norman~C. \newblock Typechecking polymorphism in {Emerald}. \newblock Technical Report TR 90-34, Dept. of Computer Science, University of Arizona, December 1990. \bibitem[\protect\citeauthoryear{Bobrow \bgroup \em et al.\egroup }{1988}]{BDG*88} Bobrow, D.G., De~Michiel, L.G., Gabriel, R.P., Keene, S.E., Kiczales, G., and Moon, D.A. \newblock Common lisp object system specification. \newblock {\em ACM SIGPLAN Notices}, 23, September 1988. \bibitem[\protect\citeauthoryear{Bracha and Griswold}{1993}]{BrGr93} Bracha, Gilad and Griswold, David. \newblock {Strongtalk:} typechecking {Smalltalk} in a production environment. \newblock In {\em Proceedings OOPSLA'93}, pages 215--230, October 1993. \bibitem[\protect\citeauthoryear{Briot and Cointe}{1989}]{Briot89} Briot, J-P. and Cointe, P. \newblock Programming with explicit metaclasses in {Smalltalk-80}. \newblock In {\em Proceedings of the Object-Oriented Programming Systems, Languages and Applications Conference, New Orleans, Louisiana}, pages 419 -- 431, 1989. \bibitem[\protect\citeauthoryear{Brown \bgroup \em et al.\egroup }{1991}]{B*91} Brown, A.L., Mainetto, G., Matthes, F., M{\"u}ller, R., and McNally, D.J. \newblock An open system architecture for a persistent object store. \newblock Persistent Programming Research Report CS/91/9, University of St. Andrews, Department of Computing Science, September 1991. \bibitem[\protect\citeauthoryear{Bruce \bgroup \em et al.\egroup }{1993a}]{Bruc93a} Bruce, K.B., Crabtree, J., Murtagh, T.P., Gent, Robert van, Dimock, Allyn, and Muller, Robert. \newblock Safe and decidable type checking in an object-oriented language. \newblock In {\em Proceedings OOPSLA'93}, pages 29--46, October 1993. \bibitem[\protect\citeauthoryear{Bruce \bgroup \em et al.\egroup }{1993b}]{Bruc95} Bruce, K.B., Schuett, A., and Gent, R. van. \newblock {PolyTOIL:} a type-safe polymorphic object-oriented language. \newblock In {\em Proceedings ECOOP'95}. Springer-Verlag, 1993. \newblock (To appear). \bibitem[\protect\citeauthoryear{Bruce}{1993}]{Bruc93} Bruce, K.B. \newblock Safe type checking in a statically typed object-oriented language. \newblock In {\em Proceedings of the Twentieth ACM Symposium on Principles of Programming Languages}, 1993. \bibitem[\protect\citeauthoryear{Canning \bgroup \em et al.\egroup }{1989}]{CCHO89} Canning, P.S., Cook, W.R., Hill, W.L., and Olthoff, W. \newblock F-bounded polymorphism for object-oriented programming. \newblock In {\em Proceedings of Conference on Functional Proramming Languages and Computer Architecture (FPCA'89), Imperial College, London}, pages 273--280, September 1989. \bibitem[\protect\citeauthoryear{Cardelli and Longo}{1991}]{CaLo91} Cardelli, L. and Longo, G. \newblock A semantic basis for {Q}uest. \newblock {\em Journal of Functional Programming}, 1(4):417--458, October 1991. \bibitem[\protect\citeauthoryear{Cardelli \bgroup \em et al.\egroup }{1991}]{CMMS91} Cardelli, L., Martini, S., Mitchell, J.C., and Scedrov, A. \newblock An extension of system {F} with subtyping. \newblock In Ito, T. and Meyer, A.R., editors, {\em Theoretical Aspects of Computer Software, TACS'91}, Lecture Notes in Computer Science, pages 750--770. Springer-Verlag, 1991. \bibitem[\protect\citeauthoryear{Cardelli \bgroup \em et al.\egroup }{1994}]{CMA94} Cardelli, L., Matthes, F., and Abadi, M. \newblock Extensible grammars for language specialization. \newblock In Beeri, C., Ohori, A., and Shasha, D.E., editors, {\em Proceedings of the Fourth International Workshop on Database Programming Languages, Manhatten, New York}, Workshops in Computing, pages 11--31. Springer-Verlag, February 1994. \bibitem[\protect\citeauthoryear{Cardelli}{1990}]{Card90} Cardelli, L. \newblock The {Quest} language and system (tracking draft). \newblock Technical report, Digital Equipment Corporation, Systems Research Center, Palo-Alto, California, 1990. \newblock (shipped as part of the Quest V.12 system distribution). \bibitem[\protect\citeauthoryear{Castagna}{1994}]{Cast94} Castagna, G. \newblock Covariance and contravariance: conflict without a cause. \newblock Technical Report liens-94-18, LIENS, October 1994. \bibitem[\protect\citeauthoryear{Chambers and Leavens}{1994}]{ChLe94} Chambers, Craig and Leavens, Gary~T. \newblock Typechecking and modules for multi-methods. \newblock In {\em Proceedings OOPSLA '94}, volume~29 of {\em ACM SIGPLAN Notices}, pages 1--15. Association for Computing Machinery, October 1994. \bibitem[\protect\citeauthoryear{Chambers and Ungar}{1991}]{ChUn91} Chambers, C. and Ungar, D. \newblock Making pure object-oriented languages practical. \newblock In {\em Proceedings of the Object-Oriented Programming Systems, Languages and Applications Conference, Phoenix, Arizona}, pages 1--15, October 1991. \bibitem[\protect\citeauthoryear{Chambers}{1993}]{Cham92} Chambers, C. \newblock Object-oriented multi-methods in {Cecil}. \newblock In {\em Proceedings of the ECOOP'92 Conference, Uetrecht, the Netherlands}, pages 33--56. Springer-Verlag, July 1993. \bibitem[\protect\citeauthoryear{Cook \bgroup \em et al.\egroup }{1990}]{CHC90} Cook, W.R., Hill, W.L., and Canning, P.S. \newblock Inheritance is not subtyping. \newblock In {\em Proceedings of the Seventeenth ACM Symposium on Principles of Programming Languages}, pages 125--135, 1990. \bibitem[\protect\citeauthoryear{Danforth and Forman}{1994}]{DaFo94} Danforth, S. and Forman, I.~R. \newblock Reflections on metaclass programming in {SOM}. \newblock In {\em Proceedings OOPSLA'94}, pages 440--452, October 1994. \bibitem[\protect\citeauthoryear{Eifrig \bgroup \em et al.\egroup }{1994}]{ESTZ94} Eifrig, J., Smith, S., Trifonov, V., and Zwarico, A. \newblock Application of {OOP} type theory: State, decidability, integration. \newblock In {\em Proceedings OOPSLA'94}, pages 16--30, October 1994. \bibitem[\protect\citeauthoryear{Ellis and Stroustrup}{1990}]{ElSt90} Ellis, M.A. and Stroustrup, B. \newblock {\em The Annotated C++ Reference Manual}. \newblock Addison-Wesley Publishing Company, 1990. \bibitem[\protect\citeauthoryear{Ferber}{1989}]{Ferb89} Ferber, J. \newblock Computational reflection in class based object oriented languages. \newblock In {\em Proceedings of the Object-Oriented Programming Systems, Languages and Applications Conference, New Orleans, Louisiana}, pages 317 -- 326, 1989. \bibitem[\protect\citeauthoryear{Gawecki and Matthes}{1994}]{GaMa94} Gawecki, A. and Matthes, F. \newblock The {Tycoon} {Machine} {Language} {TML} - an optimizable persistent program representation. \newblock FIDE Technical Report FIDE/94/100, Fachbereich Informatik, Universit\"at Hamburg, Germany, July 1994. \bibitem[\protect\citeauthoryear{Gawecki and Matthes}{1995}]{GaMa95} Gawecki, A. and Matthes, F. \newblock Integrating query and program optimization using persistent {CPS} representations. \newblock (submitted for publication), March 1995. \bibitem[\protect\citeauthoryear{Gawecki \bgroup \em et al.\egroup }{1995}]{GMS95} Gawecki, A., Matthes, F., and Schmidt, J.W. \newblock Definition of the {Tycoon} object-oriented {Language} {TooL}. \newblock (In preparation), May 1995. \bibitem[\protect\citeauthoryear{Gawecki}{1992}]{Gawe91a} Gawecki, A. \newblock An optimizing compiler for {Smalltalk}. \newblock Bericht FBI-HH-B-152/92, Fachbereich Informatik, Universit\"at Hamburg, Germany, September 1992. \newblock In German. \bibitem[\protect\citeauthoryear{Ghelli}{1991}]{Ghel91} Ghelli, G. \newblock A static type system for message passing. \newblock In {\em Proceedings of the Object-Oriented Programming Systems, Languages and Applications Conference, Phoenix, Arizona}, pages 129--145, 1991. \bibitem[\protect\citeauthoryear{Goguen}{1990}]{Gogu90} Goguen, J.A. \newblock Higher-order functions considered unnecessary for higher-order programming. \newblock In Turner, D., editor, {\em Research Topics in Functional Programming}, pages 309--351. Addison-Wesley Publishing Company, 1990. \bibitem[\protect\citeauthoryear{Goldberg and Robson}{1983}]{GoRo83} Goldberg, Adele and Robson, David. \newblock {\em Smalltalk 80: the Language and its Implementation}. \newblock Addison-Wesley, May 1983. \bibitem[\protect\citeauthoryear{Hewitt}{1987}]{Hewi77} Hewitt, C. \newblock Viewing control structures as patterns of passing messages. \newblock {\em Artificial Intelligence}, (8):323--364, 1987. \bibitem[\protect\citeauthoryear{{H\"olzle}}{1994}]{Hoel94} {H\"olzle}, U. \newblock {\em Adaptive Optimization for {Self}: Reconciling high performance with Exploratory Programming}. \newblock PhD thesis, Stanford University, August 1994. \bibitem[\protect\citeauthoryear{Hutchinson}{1987}]{Hutc87} Hutchinson, Norman~C. \newblock {\em {Emerald}: An Object-Based Language for Distributed Programming}. \newblock PhD thesis, University of Washington, September 1987. \bibitem[\protect\citeauthoryear{Johnson and Foote}{1988}]{John88} Johnson, Ralph~E. and Foote, Brian. \newblock Designing reusable classes. \newblock {\em Journal of Object-Oriented Programming}, 1(2), 1988. \bibitem[\protect\citeauthoryear{Kiczales \bgroup \em et al.\egroup }{1991}]{Kiczales91} Kiczales, G., Rivieres, J., and Bobrow, D.G. \newblock {\em The Art of the Metaobject Protocol}. \newblock MIT Press, 1991. \bibitem[\protect\citeauthoryear{Lamb \bgroup \em et al.\egroup }{1992}]{LLOW92} Lamb, C., Landis, G., Orenstein, J., and Weinreb, D. \newblock The {ObjectStore} database system. \newblock {\em Communications of the ACM}, 34(10):50--64, 1992. \bibitem[\protect\citeauthoryear{Lamping}{1993}]{Lamp93} Lamping, John. \newblock Typing the specialization interface. \newblock In {\em Proceedings OOPSLA '93}, pages 201--214, October 1993. \bibitem[\protect\citeauthoryear{Mathiske \bgroup \em et al.\egroup }{1995}]{MMS95} Mathiske, B., Matthes, F., and Schmidt, J.W. \newblock On migrating threads. \newblock In {\em Proceedings of the Second International Workshop on Next Generation Information Technologies and Systems, Naharia, Israel}, June 1995. \newblock (to appear). \bibitem[\protect\citeauthoryear{Matthes and Schmidt}{1991}]{MaSc91b} Matthes, F. and Schmidt, J.W. \newblock Bulk types: Built-in or add-on? \newblock In {\em Proceedings of the Third International Workshop on Database Programming Languages, Nafplion, Greece}. Morgan Kaufmann Publishers, September 1991. \bibitem[\protect\citeauthoryear{Matthes and Schmidt}{1992}]{MaSc92a} Matthes, F. and Schmidt, J.W. \newblock Definition of the {Tycoon} {Language} {TL} -- a preliminary report. \newblock Informatik Fachbericht {FBI-HH-B-160/92}, Fachbereich Informatik, Universit\"at Hamburg, Germany, November 1992. \bibitem[\protect\citeauthoryear{Matthes and Schmidt}{1993}]{MaSc93b} Matthes, F. and Schmidt, J.W. \newblock System construction in the {Tycoon} environment: Architectures, interfaces and gateways. \newblock In Spies, P.P., editor, {\em Proceedings of Euro-Arch'93 Congress}, pages 301--317. Springer-Verlag, October 1993. \bibitem[\protect\citeauthoryear{Matthes and Schmidt}{1994}]{MaSc94} Matthes, F. and Schmidt, J.W. \newblock Persistent threads. \newblock In {\em Proceedings of the Twentieth International Conference on Very Large Data Bases, VLDB}, pages 403--414, Santiago, Chile, September 1994. \bibitem[\protect\citeauthoryear{Matthes \bgroup \em et al.\egroup }{1992}]{MMS92} Matthes, F., M{\"u}ller, R., and Schmidt, J.W. \newblock Object stores as servers in persistent programming environments -- the p-quest experience. \newblock FIDE Technical Report Series FIDE/92/48, FIDE Project Coordinator, Department of Computing Sciences, University of Glasgow, Glasgow G128QQ, July 1992. \bibitem[\protect\citeauthoryear{Matthes \bgroup \em et al.\egroup }{1994}]{MMS94} Matthes, F., M{\"u}{\ss}ig, S., and Schmidt, J.W. \newblock Persistent polymorphic programming in {Tycoon}: An introduction. \newblock FIDE Technical Report FIDE/94/106, Fachbereich Informatik, Universit\"at Hamburg, Germany, August 1994. \bibitem[\protect\citeauthoryear{Matthes}{1993}]{Matt93} Matthes, F. \newblock {\em Persistente Objektsysteme: Integrierte Datenbankentwicklung und Programmerstellung}. \newblock Springer-Verlag, 1993. \newblock (In German.). \bibitem[\protect\citeauthoryear{Meyer}{1988}]{Meye88} Meyer, B. \newblock {\em Object-oriented Software Construction}. \newblock International Series in Computer Science. Prentice Hall, Englewood Cliffs, New Jersey, 1988. \bibitem[\protect\citeauthoryear{Meyer}{1989}]{Mey89} Meyer, B. \newblock Static typing for {Eiffel}. \newblock (Technical report distributed with Eiffel Release 2), July 1989. \bibitem[\protect\citeauthoryear{Milner \bgroup \em et al.\egroup }{1990}]{MTH90} Milner, R., Tofte, M., and Harper, R. \newblock {\em The Definition of {Standard ML}}. \newblock MIT Press, Cambridge, Massachusetts, 1990. \bibitem[\protect\citeauthoryear{Pierce and Turner}{1993}]{PiTu93b} Pierce, B.C. and Turner, D.N. \newblock Statically typed friendly functions via partially abstract types. \newblock Rapport de Recherche 1899, INRIA, Domaine de Voluceau Rocquencourt 78153 Le Chesnay Cedex - France, May 1993. \bibitem[\protect\citeauthoryear{Pierce}{1992}]{Pier92} Pierce, B.~C. \newblock Bounded quantification is undecidable. \newblock In {\em Proceedings of the Nineteenth ACM Symposium on Principles of Programming Languages}, pages 305--315, January 1992. \bibitem[\protect\citeauthoryear{Ungar and Smith}{1987}]{UnSm87} Ungar, D. and Smith, R.B. \newblock {Self}: The power of simplicity. \newblock In {\em Proceedings of the Object-Oriented Programming Systems, Languages and Applications Conference, Orlando, Florida}, pages 227--242, 1987. \end{thebibliography}