Gradual Liquid Type Inference

5 Jul 2018 Niki Vazou Éric Tanter David Van Horn

Liquid typing provides a decidable refinement inference mechanism that is convenient but subject to two major issues: (1) inference is global and requires top-level annotations, making it unsuitable for inference of modular code components and prohibiting its applicability to library code, and (2) inference failure results in obscure error messages. These difficulties seriously hamper the migration of existing code to use refinements... (read more)

PDF Abstract