Projects per year
Abstract
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.
Original language | English |
---|---|
Article number | 111 |
Pages (from-to) | 570-595 |
Journal | Proceedings of the ACM on Programming Languages |
Volume | 6 |
Issue number | ICFP |
DOIs | |
Publication status | Published - 31 Aug 2022 |
Event | The 27th ACM SIGPLAN International Conference on Functional Programming, 2022 - Ljubljana, Slovenia Duration: 11 Sept 2022 → 16 Sept 2022 Conference number: 27 https://icfp22.sigplan.org/ |
Keywords / Materials (for Non-textual outputs)
- first-class polymorphism
- type inference
- impredicative types
- constraints
Fingerprint
Dive into the research topics of 'Constraint-based type inference for FreezeML'. Together they form a unique fingerprint.Projects
- 2 Finished
-
Effect Handler Oriented Programming
Lindley, S. (Principal Investigator)
1/02/21 → 31/01/25
Project: Research
-
Skye-A programming language bridging theory and practice for scientific data curation
Cheney, J. (Principal Investigator)
1/09/16 → 28/02/23
Project: Research
Research output
- 1 Conference contribution
-
FreezeML: complete and easy type inference for first-class polymorphism
Emrich, F., Lindley, S., Stolarek, J., Cheney, J. & Coates, J., 11 Jun 2020, Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation. Association for Computing Machinery (ACM), p. 423-437 15 p.Research output: Chapter in Book/Report/Conference proceeding › Conference contribution
Open AccessFile