Programs written in scripting languages employ idioms that confound conventional type systems. In this paper, we highlight one important set of related idioms: the use of local control and state to reason informally about types. To address these idioms, we formalize run-time tags and their relationship to types, and use these to present a novel strategy to integrate typing with flow analysis in a modular way. We demonstrate that in our separation of typing and flow analysis, each component remains conventional, their composition is simple, but the result can handle these idioms better than either one alone.
@inproceedings{guha:flowtypes, author = "Arjun Guha and Claudiu Saftoiu and Shriram Krishnamurthi", title = "Typing Local Control and State Using Flow Analysis", booktitle = "European Symposium on Programming (ESOP)", year = 2011 }