A Framework for Implementing Pluggable Type Systems
Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2006), Portland, Oregon, October 22-26, 2006.
Chris Andreae, James Noble, Shane Markstrum, Todd Millstein
Pluggable types have been proposed to support multiple
type systems in the same programming language.
We have designed and implemented JavaCOP, a program constraint system
for implementing practical pluggable type systems for Java. JavaCOP
enforces user-defined typing constraints written in a declarative and
expressive rule language. We have validated our design by
(re)implementing a range of type systems and program checkers. By
using a program constraint system to implement pluggable types,
programmers are able to check that their programs will operate
correctly in restricted environments, adhere to strict programming
rules, avoid null pointer errors or scoped memory exceptions, and meet
style guidelines, while programming language researchers can easily
experiment with novel type systems.
[PDF | Implementation | Project Page]
Superceded by this paper.