Abstract

Database programming languages represent an attempt to merge the technologies of programming languages and database management in order to improve the development of data-intensive applications. One aspect of the research on database programming languages is an attempt to exploit polymorphism and higher order functions to integrate query algebra capabilities into programming languages. This has proved to be difficult especially in strongly and statically typed languages, due to the high level of polymorphism and reflection in database query languages. For example, the natural join operation of relational algebra requires examination of the types of the input relations to determine the match predicate and output type, neither of which are easily expressed in current polymorphic programming languages. These aspects of natural join require quite sophisticated polymorphism and some kind of reflection. The reflection must be powerful enough to allow the examination of the input types to determine the match function and to synthesize the output type. It is the difficulty in achieving such power parsimoniously that we examine in this paper.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call