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.
Type qualifier inference tools usually operate in batch mode and assume that the program must not be...
There exists an identifiable programming style based on the widespread use of type information handl...
The C language, despite its age, is one of the main languages in systems development. It is valued f...
We describe a framework for adding type qualifiers to a lan-guage. Type qualifiers encode a simple b...
The current release of C] (version 2.0) introduces a number of new features intended to increase the...
Subtyping appears in a variety of programming languages, in the form of the "automatic coercion...
Constrained type systems are a natural generalization of Hindley/Milner type inference to languages ...
Systems programming languages facilitate the implementation of software that runs in restricted envi...
Many computer programs have the property that they work correctly on a variety of types of input; s...
Abstract—Type qualifier inference tools usually operate in batch mode and assume that the program mu...
Qualified types provide a general framework for constrained type systems, with applications includin...
Approximate descriptions of the success set of a program have many uses in program development and ...
Type inference is a key component of modern statically typed programming languages. It allows progra...
We propose the inclusion of the so-called auto feature for variable definitions and function types i...
We study the type inference problem for a system with type classes as in the functional programming ...
Type qualifier inference tools usually operate in batch mode and assume that the program must not be...
There exists an identifiable programming style based on the widespread use of type information handl...
The C language, despite its age, is one of the main languages in systems development. It is valued f...
We describe a framework for adding type qualifiers to a lan-guage. Type qualifiers encode a simple b...
The current release of C] (version 2.0) introduces a number of new features intended to increase the...
Subtyping appears in a variety of programming languages, in the form of the "automatic coercion...
Constrained type systems are a natural generalization of Hindley/Milner type inference to languages ...
Systems programming languages facilitate the implementation of software that runs in restricted envi...
Many computer programs have the property that they work correctly on a variety of types of input; s...
Abstract—Type qualifier inference tools usually operate in batch mode and assume that the program mu...
Qualified types provide a general framework for constrained type systems, with applications includin...
Approximate descriptions of the success set of a program have many uses in program development and ...
Type inference is a key component of modern statically typed programming languages. It allows progra...
We propose the inclusion of the so-called auto feature for variable definitions and function types i...
We study the type inference problem for a system with type classes as in the functional programming ...
Type qualifier inference tools usually operate in batch mode and assume that the program must not be...
There exists an identifiable programming style based on the widespread use of type information handl...
The C language, despite its age, is one of the main languages in systems development. It is valued f...