[an error occurred while processing this directive] An error occured whilst processing this directive

Theory Seminar


X# Overview: Unifying the Object-Oriented, Relational and Hierarchical Data Models

Erik Meijer

Microsoft Research

2pm Friday 11 April 2003
Room 2511, JCMB, King's Buildings


Abstract

Over the last couple of years my research has focused on growing languages to write typical three-tier programs that munge relational tables into hierarchical trees by means of an object-oriented or functional language.

The early attempts resulted in a family of domain specific embedded languages in Haskell. While the DSL approach is certainly elegant, it remained a purely academic exercise. In particular it is impossible to add new syntax (for example for XML literals), and more importantly, embedding foreign type-systems into the host language requires lots of tricky type hackery (phantom types, monads, rank-n polymorphism, ...) while still not achieving full fidelity.

More recently, I have therefore been investigating language and type-system extensions in an imperative object-oriented setting instead of embedding into a pure functional language. This talk will discuss the preliminary outcome of trying to unify the object-oriented, relational and hierarchical data-models by growing an object-oriented host language by adding streams (lazy lists), tuples (sequences), union and intersection types, closures, generalized member access (XPath queries) and joins (SQL select queries), and XML literals.

Martin Grohe
Thursday 3 April 2003
An error occured whilst processing this directive