\relax \citation{MaSc93b,Matt93} \citation{MaSc94,MMS95} \citation{MMS94} \citation{Card90,CaLo91} \citation{PiTu93b} \citation{BlHu90,Bruc93,Bruc95,AbCa95} \citation{MaSc91b} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {1}Introduction}{3}} \citation{GoRo83} \citation{UnSm87} \citation{Hewi77} \citation{Gogu90} \citation{John88} \citation{CMA94} \citation{ChUn91,Hoel94,Gawe91a} \citation{GaMa95} \citation{GMS95} \citation{MTH90} \citation{MaSc92a} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {2}TooL Design Rationale and Language Overview}{4}} \citation{Hutc87} \citation{BNOW93} \citation{ACPP90} \citation{Mey89} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {3}TooL's Basic Typing Concepts}{5}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.1}Type-Checking in Persistent and Distributed Environments}{5}} \citation{Bruc95} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.2}Structural Subtyping}{6}} \citation{CMMS91} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.3}Type Parameterization}{7}} \newlabel{Sec:PolyMethods}{{3.3}{7}} \newlabel{xple:set}{{3.3}{7}} \citation{BlHu90,Bruc93} \citation{CCHO89} \citation{Bruc93} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.4}Type Matching}{8}} \newlabel{Sec:Matching}{{3.4}{8}} \citation{BlHu90} \citation{Bruc95} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.5}Interaction between Subtyping, Matching and Parameterization}{9}} \newlabel{Sec:SubtypingAndMatching}{{3.5}{9}} \citation{BDG*88} \citation{Meye88} \citation{ElSt90} \citation{ABGO93} \citation{Bruc93} \citation{Bruc95} \citation{CHC90} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {4}Reconciling Inheritance and Polymorphism}{10}} \newlabel{Sec:Inheritance}{{4}{10}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.1}Typing Self}{10}} \newlabel{Sec:Self}{{4.1}{10}} \citation{ESTZ94} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.2}Parameterized Classes}{13}} \newlabel{Sec:ClassParameters}{{4.2}{13}} \citation{Kiczales91,Briot89,Ferb89,DaFo94} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.3}Typing Metaclasses}{14}} \newlabel{Sec:Metaclasses}{{4.3}{14}} \citation{Lamp93} \citation{ChUn91,Hoel94,Gawe91a} \citation{AmCa93} \citation{ACCL90} \citation{CMA94} \citation{GaMa94,GaMa95} \citation{AtBu86} \citation{MMS92} \citation{B*91} \citation{LLOW92} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.4}Privacy and Encapsulation}{15}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {5}TooL Implementation Status}{15}} \citation{CCHO89} \citation{AbCa95} \citation{BlHu90} \citation{BlHu90} \citation{Bruc93a} \citation{Bruc95} \citation{Bruc95} \citation{BrGr93} \citation{ESTZ94} \citation{Ghel91,Cast94,Cham92} \citation{ChLe94} \citation{BlHu90} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {6}Related Work}{16}} \newlabel{Sec:RelatedWork}{{6}{16}} \citation{Pier92} \bibstyle{enamed} \bibdata{../bib/agdef,../bib/ag} \bibcite{AbCa95}{\citeauthoryear {Abadi and Cardelli}{1995}} \bibcite{ACPP90}{\citeauthoryear {Abadi \bgroup \pem et al.\egroup }{1989}} \bibcite{ACCL90}{\citeauthoryear {Abadi \bgroup \pem et al.\egroup }{1990}} \bibcite{ABGO93}{\citeauthoryear {Albano \bgroup \pem et al.\egroup }{1993}} \bibcite{AmCa93}{\citeauthoryear {Amadio and Cardelli}{1993}} \bibcite{AtBu86}{\citeauthoryear {Atkinson and Bunemann}{1987}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {7}Conclusion}{17}} \newlabel{Sec:Conclusion}{{7}{17}} \bibcite{BNOW93}{\citeauthoryear {Birell \bgroup \pem et al.\egroup }{1993}} \bibcite{BlHu90}{\citeauthoryear {Black and Hutchinson}{1990}} \bibcite{BDG*88}{\citeauthoryear {Bobrow \bgroup \pem et al.\egroup }{1988}} \bibcite{BrGr93}{\citeauthoryear {Bracha and Griswold}{1993}} \bibcite{Briot89}{\citeauthoryear {Briot and Cointe}{1989}} \bibcite{B*91}{\citeauthoryear {Brown \bgroup \pem et al.\egroup }{1991}} \bibcite{Bruc93a}{\citeauthoryear {Bruce \bgroup \pem et al.\egroup }{1993a}} \bibcite{Bruc95}{\citeauthoryear {Bruce \bgroup \pem et al.\egroup }{1993b}} \bibcite{Bruc93}{\citeauthoryear {Bruce}{1993}} \bibcite{CCHO89}{\citeauthoryear {Canning \bgroup \pem et al.\egroup }{1989}} \bibcite{CaLo91}{\citeauthoryear {Cardelli and Longo}{1991}} \bibcite{CMMS91}{\citeauthoryear {Cardelli \bgroup \pem et al.\egroup }{1991}} \bibcite{CMA94}{\citeauthoryear {Cardelli \bgroup \pem et al.\egroup }{1994}} \bibcite{Card90}{\citeauthoryear {Cardelli}{1990}} \bibcite{Cast94}{\citeauthoryear {Castagna}{1994}} \bibcite{ChLe94}{\citeauthoryear {Chambers and Leavens}{1994}} \bibcite{ChUn91}{\citeauthoryear {Chambers and Ungar}{1991}} \bibcite{Cham92}{\citeauthoryear {Chambers}{1993}} \bibcite{CHC90}{\citeauthoryear {Cook \bgroup \pem et al.\egroup }{1990}} \bibcite{DaFo94}{\citeauthoryear {Danforth and Forman}{1994}} \bibcite{ESTZ94}{\citeauthoryear {Eifrig \bgroup \pem et al.\egroup }{1994}} \bibcite{ElSt90}{\citeauthoryear {Ellis and Stroustrup}{1990}} \bibcite{Ferb89}{\citeauthoryear {Ferber}{1989}} \bibcite{GaMa94}{\citeauthoryear {Gawecki and Matthes}{1994}} \bibcite{GaMa95}{\citeauthoryear {Gawecki and Matthes}{1995}} \bibcite{GMS95}{\citeauthoryear {Gawecki \bgroup \pem et al.\egroup }{1995}} \bibcite{Gawe91a}{\citeauthoryear {Gawecki}{1992}} \bibcite{Ghel91}{\citeauthoryear {Ghelli}{1991}} \bibcite{Gogu90}{\citeauthoryear {Goguen}{1990}} \bibcite{GoRo83}{\citeauthoryear {Goldberg and Robson}{1983}} \bibcite{Hewi77}{\citeauthoryear {Hewitt}{1987}} \bibcite{Hoel94}{\citeauthoryear {{H{\accent "7F o}lzle}}{1994}} \bibcite{Hutc87}{\citeauthoryear {Hutchinson}{1987}} \bibcite{John88}{\citeauthoryear {Johnson and Foote}{1988}} \bibcite{Kiczales91}{\citeauthoryear {Kiczales \bgroup \pem et al.\egroup }{1991}} \bibcite{LLOW92}{\citeauthoryear {Lamb \bgroup \pem et al.\egroup }{1992}} \bibcite{Lamp93}{\citeauthoryear {Lamping}{1993}} \bibcite{MMS95}{\citeauthoryear {Mathiske \bgroup \pem et al.\egroup }{1995}} \bibcite{MaSc91b}{\citeauthoryear {Matthes and Schmidt}{1991}} \bibcite{MaSc92a}{\citeauthoryear {Matthes and Schmidt}{1992}} \bibcite{MaSc93b}{\citeauthoryear {Matthes and Schmidt}{1993}} \bibcite{MaSc94}{\citeauthoryear {Matthes and Schmidt}{1994}} \bibcite{MMS92}{\citeauthoryear {Matthes \bgroup \pem et al.\egroup }{1992}} \bibcite{MMS94}{\citeauthoryear {Matthes \bgroup \pem et al.\egroup }{1994}} \bibcite{Matt93}{\citeauthoryear {Matthes}{1993}} \bibcite{Meye88}{\citeauthoryear {Meyer}{1988}} \bibcite{Mey89}{\citeauthoryear {Meyer}{1989}} \bibcite{MTH90}{\citeauthoryear {Milner \bgroup \pem et al.\egroup }{1990}} \bibcite{PiTu93b}{\citeauthoryear {Pierce and Turner}{1993}} \bibcite{Pier92}{\citeauthoryear {Pierce}{1992}} \bibcite{UnSm87}{\citeauthoryear {Ungar and Smith}{1987}}