FreezeML is a new approach to first-class polymorphic type inference that employs term annotations to control when and how polymorphic types are instantiated and generalised. It conservatively extends Hindley-Milner type inference and was first presented as an extension to Algorithm W. More modern type inference techniques such as HM($X$) and OutsideIn($X$) employ constraints to support features such as type classes, type families, rows, and other extensions. We take the first step towards modernising FreezeML by presenting a constraint-based type inference algorithm. We introduce a new constraint language, inspired by the Pottier/Rémy presentation of HM($X$), in order to allow FreezeML type inference problems to be expressed as constraints. We present a deterministic stack machine for solving FreezeML constraints and prove its termination and correctness.
Wed 14 SepDisplayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change
15:50 - 16:50 | Effects and Type InferenceICFP Papers and Events at Linhart Chair(s): Ben Lippmeier Ghost Locomotion | ||
15:50 20mTalk | Modular Probabilistic Models via Algebraic Effects ICFP Papers and Events Minh Nguyen University of Bristol, Roly Perera Alan Turing Institute, Meng Wang University of Bristol, Nicolas Wu Imperial College London DOI | ||
16:10 20mTalk | Constraint-based type inference for FreezeML ICFP Papers and Events Frank Emrich University of Edinburgh, UK, Jan Stolarek University of Edinburgh, UK, James Cheney University of Edinburgh; Alan Turing Institute, Sam Lindley The University of Edinburgh, UK DOI | ||
16:30 20mTalk | Linearly Qualified Types: Generic inference for capabilities and uniqueness ICFP Papers and Events Arnaud Spiwack Tweag, Csongor Kiss Imperial College London, Jean-Philippe Bernardy University of Gothenburg, Sweden, Nicolas Wu Imperial College London, Richard A. Eisenberg Jane Street Link to publication DOI Pre-print |