Exceeding the limits of polymorphism in database programming languages

  • David Stemple
  • Leo Fegaras
  • Tim Sheard
  • Adolfo Socorro
Session 7: Database Programming Languages
Part of the Lecture Notes in Computer Science book series (LNCS, volume 416)


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.


Match Function Output Type Type Inference Type Definition Type Check 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    H. Ait-Kaci. A lattice-theoretic approach to computations based on a calculus of partially-ordered type structures. PhD thesis, Computer and Information Science Dept., Univ. of Pennsylvania, Philadelphia, 1984.Google Scholar
  2. [2]
    L. Fegaras, T. Sheard, and D. Stemple. The ADABTPL Type System. In Proceedings of the Second International Workshop on Database Programming Languages, Salishan, Oregon, pages 243–254, 1989.Google Scholar
  3. [3]
    G. Jaeschke and H. Shek. Remarks on the Algebra of Non First Normal Form Relations. In Proceedings of the First ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, Los Angeles, California, pages 124–137, 1982.Google Scholar
  4. [4]
    P. Maes. Concepts and Experiments in Computational Reflection. Proceedings of the Object-Oriented Programming Systems, Languages and Applications Conference, Orlando, Florida, pages 147–155, October 1987.Google Scholar
  5. [5]
    F. Matthes and J. Schmidt. The Type System of DBPL. In Proceedings of the Second International Workshop on Database Programming Languages, Salishan, Oregon, pages 255–260, 1989.Google Scholar
  6. [6]
    R. Morrison, A. Brown, R. Carrick, R. Connor, A. Dearle, and M. P. Atkinson. The Napier Type System. In Proceedings of the Workshop on Persistent Object Systems: Their Design, Implementation, and Use, pages 253–269, 1989.Google Scholar
  7. [7]
    A. Ohori, P. Buneman, and V. Breazu-Tannen. Database Programming in Machiavelli — A Polymorphic Language with Static Type Inference. In Proceedings of the ACM-SIGMOD International Conference on Management of Data, Portland, Oregon, pages 46–57, 1989.Google Scholar
  8. [8]
    M. Shaw and S. Zdonik. An Object-Oriented Query Algebra. In Proceedings of the Second International Workshop on Database Programming Languages, Salishan, Oregon, pages 111–119, 1989.Google Scholar
  9. [9]
    T. Sheard and D. Stemple. The Precise Control of Inheritance and the Inheritance of Theory in the ADABTPL Language. In Proceedings of the IEEE International Conference on Computer Languages, Miami Beach, Florida, pages 194–201, 1988.Google Scholar
  10. [10]
    T. Sheard and D. Stemple. Automatic Verification of Database Transaction Safety. ACM Transactions on Database Systems, 12(3), September 1989.Google Scholar
  11. [11]
    B. C. Smith. Reflection and Semantics in Lisp. Proceedings of the Eleventh ACM Symposium on Principles of Programming Languages, pages 23–35, January 1984.Google Scholar
  12. [12]
    D. Stemple and T. Sheard. Database Theory for Supporting Specification-based Database System Development. In Proceedings of the Eighth International Conference on Software Engineering, pages 43–49, 1985.Google Scholar
  13. [13]
    D. Stemple, A. Socorro, and T. Sheard. Formalizing Objects for Databases using ADABTPL. In K. R. Dittrich, editor, Advances in Object-Oriented Database Systems, pages 110–128. Springer-Verlag, 1988. Proceedings of the Second International Workshop on Object-Oriented Database Systems, Bad Muenster am Stein-Ebernburg, Germany.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • David Stemple
    • 1
  • Leo Fegaras
    • 1
  • Tim Sheard
    • 1
  • Adolfo Socorro
    • 1
  1. 1.Department of Computer and Information ScienceUniversity of Massachusetts at AmherstUSA

Personalised recommendations