Abstract. 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.
Guha et al. REF developed a type-checker for JavaScript that combines typing and flow analysis to support the use of local control and state to reason informally about types.
Typing local control and state using flow analysis
In ESOP
Computer Science