Date of Award


Document Type


Degree Name

Doctor of Philosophy (PhD)


Computer Engineering and Sciences

First Advisor

Ryan Stansifer

Second Advisor

Philip J. Bernhard

Third Advisor

Philip K. Chan

Fourth Advisor

Jewgeni H. Dshalalow


The overarching goal of the current thesis is to pave the road towards a comprehensive solution to the decades old problem of integrating databases and programming languages. For this purpose, we propose a record calculus as an extension of an ML-style functional programming language core. In particular, we describe: 1. a set of polymorphic record operations that are expressive enough to define the operators of the relational algebra; 2. a type system together with a type inference algorithm, based on the theory of qualified types, to correctly capture the types of said polymorphic record operations; 3. an algorithm for checking the consistency (satisfiability of predicates) of the inferred types; 4. an algorithm for improving and simplifying types; and 5. an outline of an approach to explaining type errors in the resulting type system in an informative way.


Copyright held by author