\contentsline {section}{\numberline {1}Introduction}{3} \contentsline {section}{\numberline {2}TooL Design Rationale and Language Overview}{4} \contentsline {section}{\numberline {3}TooL's Basic Typing Concepts}{5} \contentsline {subsection}{\numberline {3.1}Type-Checking in Persistent and Distributed Environments}{5} \contentsline {subsection}{\numberline {3.2}Structural Subtyping}{6} \contentsline {subsection}{\numberline {3.3}Type Parameterization}{7} \contentsline {subsection}{\numberline {3.4}Type Matching}{8} \contentsline {subsection}{\numberline {3.5}Interaction between Subtyping, Matching and Parameterization}{9} \contentsline {section}{\numberline {4}Reconciling Inheritance and Polymorphism}{10} \contentsline {subsection}{\numberline {4.1}Typing Self}{10} \contentsline {subsection}{\numberline {4.2}Parameterized Classes}{13} \contentsline {subsection}{\numberline {4.3}Typing Metaclasses}{14} \contentsline {subsection}{\numberline {4.4}Privacy and Encapsulation}{15} \contentsline {section}{\numberline {5}TooL Implementation Status}{15} \contentsline {section}{\numberline {6}Related Work}{16} \contentsline {section}{\numberline {7}Conclusion}{17}