Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
First-class labels for extensible rows

Daan Leijen

Abstract

This paper describes a type system for extensible records and variants with first-class labels; labels are polymorphic and can be passed as arguments. This increases the expressiveness of conventional record calculi significantly, and we show how we can encode intersection types, closed-world overloading, type case, label selective calculi, and first-class messages. We formally motivate the need for row equality predicates to express type constraints in the presence of polymorphic labels. This naturally leads to an orthogonal treatment of unrestricted row polymorphism that can be used to express first-class patterns. Based on the theory of qualified types, we present an effective type inference algorithm and efficient compilation method.

Details

Publication typeTechReport
NumberUU-CS-2004-51
InstitutionDepartment of Computer Science, Universiteit Utrecht
PublisherDept. of Computer Science, Universiteit Utrecht
> Publications > First-class labels for extensible rows