🤖 AI Summary
This paper addresses the challenge of implementing sound, efficient gradual typing for structurally typed languages. We propose a novel evidence-based compilation methodology. Our primary contribution is GrEv—the first evidence-driven gradual type compiler designed specifically for structural typing. First, we introduce monotonic evidence semantics, establishing a formal bridge between Abstract Gradual Typing (AGT) theory and practical compiler implementation. Second, we integrate abstract interpretation with a Curry–Howard-inspired evidence evolution mechanism to enable runtime monitoring of type consistency. Third, empirical evaluation on the Grift benchmark demonstrates that GrEv matches or exceeds the performance of state-of-the-art coercion-based compilers, while significantly improving stability across the static–dynamic spectrum—marking the first demonstration that evidence-based mechanisms can simultaneously ensure soundness, efficiency, and robustness in gradual typing.
📝 Abstract
Efficiently supporting sound gradual typing in a language with structural types is challenging. To date, the Grift compiler is the only close-to-the-metal implementation of gradual typing in this setting, exploiting coercions for runtime checks, and further extended with monotonic references for efficient access to statically-typed data structures. On the language design and semantics side, the Abstracting Gradual Typing (AGT) methodology has proven fruitful to elucidate existing designs and to innovate by deriving gradualizations of a wide variety of typing disciplines and language features. Grounded in abstract interpretation, the Curry-Howard inspired runtime semantics of AGT is based on the notion of evidence for consistent judgments that evolve during reduction, monitoring the plausibility of well-typedness. While expressive and versatile, it is unclear whether such evidence-based semantics are a viable route to realize an efficient implementation of gradual typing.
In this work, we explore this question by designing, implementing, and evaluating an evidence-based compiler, called GrEv. We explain how to bridge the gap between the formal semantics and the GrEv compiler implementation, and identify novel monotonic semantics. We empirically evaluate the performance of GrEv on the Grift benchmark suite. The results show that an evidence-based compiler can be competitive with, and even faster than, a coercion-based compiler, exhibiting more stability across configurations on the static-to-dynamic spectrum. In addition to enriching the space of gradual typing compilers, this work opens a direct door to exploring efficient implementations of the many advanced gradual typing disciplines formally derived with AGT in the literature.