Publications

View publication

Title Abstracting Gradual Typing
Authors Ronald Garcia, Alison Clark, Éric Tanter
Publication date 2016
Abstract Language researchers and designers have extended a wide
variety
of type systems to support gradual typing, which enables languages to
seamlessly combine dynamic and static checking. These efforts consistently
demonstrate that designing a satisfactory gradual counterpart to a static
type system is challenging, and this challenge only increases with the
sophistication of the type system. Gradual type system designers need more
formal tools to help them conceptualize, structure, and evaluate their
designs. In this paper, we propose a new formal foundation for gradual
typing, drawing on principles from abstract interpretation to give gradual
types a semantics in terms of pre-existing static types. Abstracting Gradual
Typing (AGT for short) yields a formal account of consistency---one of the
cornerstones of the gradual typing approach---that subsumes existing notions
of consistency, which were developed through intuition and ad hoc reasoning.
Given a syntax-directed static typing judgment, the AGT approach induces a
corresponding gradual typing judgment. Then the type safety proof for the
underlying static discipline induces a dynamic semantics for gradual
programs defined over source-language typing derivations. The AGT approach
does not resort to an externally justified cast calculus: instead, run-time
checks naturally arise by deducing evidence for consistent judgments during
proof reduction. To illustrate the approach, we develop a novel
gradually-typed counterpart for a language with record subtyping. Gradual
languages designed with the AGT approach satisfy by construction the refined
criteria for gradual typing set forth by Siek and colleagues.
Downloaded 5 times
Pages 429-442
Conference name ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Publisher ACM Press (New York, NY, USA)
PDF View PDF
Reference URL View reference page