DeepAI AI Chat
Log In Sign Up

An ML-style record calculus with extensible records

by   Sandra Alves, et al.

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.


page 1

page 2

page 3

page 4


An Executable Specification of Typing Rules for Extensible Records based on Row Polymorphism

Type inference is an application domain that is a natural fit for logic ...

Formalizing φ-calculus: a purely object-oriented calculus of decorated objects

Many calculi exist for modelling various features of object-oriented lan...

Mixin Composition Synthesis based on Intersection Types

We present a method for synthesizing compositions of mixins using type i...

The em-convex rewrite system

We introduce and study em (or "emergent"), a lambda calculus style rewri...

Ranking in Genealogy: Search Results Fusion at Ancestry

Genealogy research is the study of family history using available resour...

Non-Volatile Kernel Root kit Detection and Prevention in Cloud Computing

The field of web has turned into a basic part in everyday life. Security...

Gradual Typing for Extensibility by Rows

This work studies gradual typing for row types and row polymorphism. Key...