Low-Level Type Systems for Modularity and Object-Oriented Constructs (2000)
| Citations: | 4 - 0 self |
BibTeX
@TECHREPORT{Glew00low-leveltype,
author = {Arthur Neal Glew},
title = {Low-Level Type Systems for Modularity and Object-Oriented Constructs},
institution = {},
year = {2000}
}
OpenURL
Abstract
Typed Assembly Language (Tal) is a formal language for an idealised machine augmented with type annotations, typing rules, and a memory allocation primitive. Tal’s type system is sound; that is, well typed Tal programs do not commit run-time type errors during execution. This guarantee can be used to debug type-directed compilers and to build more general security properties in an extensible system. This dissertation presents a basic version of Tal and extensions to support the compilation of modules and object-oriented languages. First, it describes a modular version of Tal that consists of typed object files, linking operations, and link compatibility conditions. Together these features provide for type-sound separate compilation and substantially extend previous work on linking. Second, it shows how to use a new formulation of self quantifiers to compile an efficient implementation of a single-inheritance class-based object-oriented language into Tal. Third, it presents a new type constructor called a tag type, and shows how to use them to compile downcasting and exceptions into Tal.







