Skip to main content

Combining inheritance and parametric polymorphism in a functional database language

  • Conference paper
  • First Online:
Advances in Databases (BNCOD 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 940))

Included in the following conference series:

  • 142 Accesses

Abstract

We consider extending a functional database language to support subtyping, inheritance and method overloading. We do so by extending previous work on type inference with subtypes for the pure λ calculus to cater for structured types, ML-style parametric polymorphism and overloaded function definitions. We attach semantics to overloaded functions by developing a generalisation of best-fit pattern-matching. Although developed for a specific language, our approach is applicable to other functional database languages, for example languages with a functional data model.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. L. Cardelli. A semantics of multiple inheritance. Information and Computation, 76:138–164, 1988.

    Google Scholar 

  2. G. Castagna. F/⩽&: integrating parametric and “ad hoc” second order polymorphism. In Proc. 4th International Workshop on Database Programming Languages (DBPL-4), New York, pages 338–358. Springer-Verlag, 1993.

    Google Scholar 

  3. P. Canning, W. Cook, W. Hill, W. Olthoff, and J. C. Mitchell. F-bounded polymorphism for object-oriented programming. In Proc. 1989 ACM Conference on Functional Programming Languages and Computer Architecture, pages 273–280, 1989.

    Google Scholar 

  4. L. Cardelli and P. Wegner. On understanding types, data abstraction, and polymorphism. ACM Computing Surveys, 17(4):471–522, 1985.

    Google Scholar 

  5. DOOD. Proceedings of the International Conferences on Deductive and Object-Oriented Databases. 1989 (Kyoto), 1991 (Munich), 1993 (Phoenix, Arizona).

    Google Scholar 

  6. A.J. Field and P.G. Harrison. Functional Programming. Addison Wesley, 1988.

    Google Scholar 

  7. Y.-C. Fuh and P. Mishra. Polymorphic subtype inference: Closing the theory-practice gap. In TAPSOFT'89 — Proc. International Joint Conference on Theory and Practice of Software Development, pages 167–183, 1989. Springer-Verlag LNCS 352.

    Google Scholar 

  8. Y.-C. Fuh and P. Mishra. Type inference with subtypes. Theoretical Computer Science, 70:155–175, 1990.

    Google Scholar 

  9. G. Ghelli. Modelling features of object-oriented languages in second order functional languages with subtypes. Technical Report FIDE/90/3, Dept. of Computing Science, Glasgow University, 1990.

    Google Scholar 

  10. J.-Y. Girard. Une extension de l'interpretation de Gödel à l'analyse, et son application à l'èlimination des coupres dans l'analyse et la thèorie des types. In J. E. Fenstad, editor, 2nd. Scandanavian Logic Symposium, pages 63–92. North-Holland, 1971.

    Google Scholar 

  11. R. Hull and R. King. Semantic database modelling: Survey, applications, and research issues. ACM Computing Surveys, 19(3):201–260, 1987.

    Google Scholar 

  12. L.A. Jategaonkar and J.C. Mitchell. ML with extended pattern matching and subtypes (preliminary version). In Proc. 1988 ACM Conf. on LISP and Functional Programming, pages 198–211, 1988.

    Google Scholar 

  13. P. Lincoln and J. C. Mitchell. Algorithmic aspects of type inference with subtypes. In 19th ACM Symposium on Principles of Programming Languages, pages 293–304, 1992.

    Google Scholar 

  14. J. C. Mitchell. Coercion and type inference (summary). In Proc. 11th ACM Symposium on Principles of Programming Languages, pages 175–185, 1984.

    Google Scholar 

  15. J. C. Mitchell. Type inference with simple subtypes. Journal of Functional Programming, 1(3):245–285, 1991.

    Google Scholar 

  16. S. Peyton-Jones. The Implementation of Functional Programming Languages. Morgan Kaufmann, 1987.

    Google Scholar 

  17. A. Poulovassilis. The implementation of FDL, a functional database language. The Computer Journal, 35(2):119–128, 1992.

    Google Scholar 

  18. A. Poulovassilis and C. Small. A functional programming approach to deductive databases. In Proc. 17th International Conference on Very Large Data Bases, (VLDB 91), Barcelona, pages 491–500, 1991.

    Google Scholar 

  19. A. Poulovassilis and C. Small. Investigation of algebraic query optimisation for database programming languages. In Proc. 20th International Conference on Very Large Data Bases (VLDB 94) Santiago, Chile, pages 415–426, 1994.

    Google Scholar 

  20. Paterson and Wegman. Linear unification. JCSS, pages 158–167, 1978.

    Google Scholar 

  21. J. A. Robinson. A machine orientated logic based on the resolution principle. Journal of the ACM, 12(1):23–41, 1965.

    Google Scholar 

  22. C. Small and A. Poulovassilis. An overview of PFL. In Proc. 3rd International Workshop on Database Programming Languages (DBPL-3), Nafplion, pages 96–110, 1991.

    Google Scholar 

  23. D. Sutton and C. Small. Extending functional database languages to update completeness. In Proc. BNCOD-13 (these proceedings), Manchester, July 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Carole Goble John Keane

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Courtenage, S., Poulovassilis, A. (1995). Combining inheritance and parametric polymorphism in a functional database language. In: Goble, C., Keane, J. (eds) Advances in Databases. BNCOD 1995. Lecture Notes in Computer Science, vol 940. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0000539

Download citation

  • DOI: https://doi.org/10.1007/BFb0000539

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60100-5

  • Online ISBN: 978-3-540-49427-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics