We present a new method for GADT type inference that improves the precision of previous approaches. In particular, our approach accepts more type-correct programs than previous approaches when they do not employ type annotations. A side benefit of our approach is that can detect a wide range of runtime errors that are missed by previous approaches.
Our method is based on the idea to represent type refinements in pattern-matching branches by choice types, which facilitate a separation of the typing and reconciliation phases and thus support for case expressions. This idea is formalized in a type system, which is both sound and a conservative extension of the classical Hindley-Milner system. We present the results of an empirical evaluation that compares our algorithm with previous approaches.
Thu 21 JanDisplayed time zone: Guadalajara, Mexico City, Monterrey change
14:20 - 16:00 | Track 2: Types, Generally or GraduallyResearch Papers at Grand Bay South Chair(s): Tiark Rompf Purdue & Oracle Labs | ||
14:20 25mTalk | Principal Type Inference for GADTs Research Papers Media Attached | ||
14:45 25mTalk | Abstracting Gradual Typing Research Papers Ronald Garcia University of British Columbia, Alison M. Clark , Éric Tanter University of Chile, Chile Link to publication Media Attached | ||
15:10 25mTalk | The Gradualizer: a methodology and algorithm for generating gradual type systems Research Papers Media Attached | ||
15:35 25mTalk | Is Sound Gradual Typing Dead? Research Papers Asumu Takikawa Northeastern University, Daniel Feltey Northeastern University, Ben Greenman Northeastern University, Max S. New , Jan Vitek Northeastern University, Matthias Felleisen Northeastern University Pre-print Media Attached File Attached |