An ML-style Record Calculus with Extensible Records

Sandra Alves
(University of Porto)
Miguel Ramos
(University of Porto)

In this work, we develop a polymorphic record calculus with extensible records. Extensible records are records that can have new fields added to them, or preexisting fields removed from them. We also develop a static type system for this calculus and a sound and complete type inference algorithm. Most ML-style polymorphic record calculi that support extensible records are based on row variables. We present an alternative construction based on the polymorphic record calculus developed by Ohori. Ohori based his polymorphic record calculus on the idea of kind restrictions. This allowed him to express polymorphic operations on records such as field selection and modification. With the addition of extensible types, we were able to extend Ohori's original calculus with other powerful operations on records such as field addition and removal.

In Ana Sokolova: Proceedings 37th Conference on Mathematical Foundations of Programming Semantics (MFPS 2021), Hybrid: Salzburg, Austria and Online, 30th August - 2nd September, 2021, Electronic Proceedings in Theoretical Computer Science 351, pp. 1–17.
Published: 29th December 2021.

ArXived at: https://dx.doi.org/10.4204/EPTCS.351.1 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org