A Theory of Type Qualifiers
Jeffrey S. Foster, Manuel Fahndrich, and Alexander Aiken
Programming Language Design and Implementation (PLDI), pages 192-203. Atlanta, Georgia. May 1999.

We describe a framework for adding type qualifiers to a language. Type qualifiers encode a simple but highly useful form of subtyping. Our framework extends standard type rules to model the flow of qualifiers through a program, where each qualifier or set of qualifiers comes with additional rules that capture its semantics. Our framework allows types to be polymorphic in the type qualifiers. We present a const-inference system for C as an example application of the framework. We show that for a set of real C programs, many more consts can be used than are actually present in the original code.

[ pdf | ps.gz ]