Personal tools
You are here: Home Events Abstract Archives 2003 X# Overview: Unifying the Object-Oriented, Relational and Hierarchical Data Models

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

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.

Document Actions