Type inference, type improvement, and type simplification in a language with user-defined polymorphic relational operators
Nagy, Lajos Pal
MetadataShow full item record
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.