Skip to main content

Existentially quantified procedures: A mechanism for abstracting type in dynamic typing constructs

  • Typing
  • Conference paper
  • First Online:
Book cover Database Programming Languages (DBPL 1997)

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

Included in the following conference series:

  • 2826 Accesses

Abstract

Existential quantification of procedures is introduced as a mechanism for languages with dynamic typing. It allows abstraction over types whose representations require to be manipulated at run time. Universal quantification, the mechanism normally associated with procedural type abstraction, is shown to be unsuitable for this style of abstraction. For many such procedures only a single type specialisation is correct, hence the analogy with existential quantification from predicate logic. For any invocation of an existentially quantified procedure, the run-time system will require to maintain a single type representation for which the abstracted type stands. Existential quantification represents a class of ad hoc polymorphism, where operations over values of the abstracted type may behave differently according to the actual specialisation.

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. M.P. Atkinson, P. Bailey, K.J. Chisholm, W.P. Cockshott and R. Morrison “An Approach to Persistent Programming” The Computer Journal 26, 4 ( 1983 ) pp 360–365

    Google Scholar 

  2. M.P. Atkinson, O.P. Buneman and R. Morrison “Binding and Typechecking in Database Programming Languages” Computer Journal 31, 2 ( March 1988 ) pp 99–109

    Google Scholar 

  3. Martin Abadi, Luca Cardelli, Benjamin C. Pierce, and Gordon D. Plotkin. Dynamic typing in a statically-typed language. ACM Transactions on Programming Languages and Systems, 13(2):237–268, April 1991

    Google Scholar 

  4. Martin Abadi, Luca Cardelli, Benjamin C. Pierce, and Didier Rémy. Dynamic typing in polymorphic languages. Journal of Functional Programming, 5(1):111–130, January 1995

    Google Scholar 

  5. M.P. Atkinson and R. Morrison “Types, Bindings and Parameters in a Persistent Environment” In M.P. Atkinson, O.P. Buneman and R. Morrison (editors) “Data Types and Persistence”, Springer-Verlag ( 1988 ) pp 1–24

    Google Scholar 

  6. Cardelli, L. “Amber” Tech. Report AT7T. Bell Labs. Murray Hill, U.S.A. (1985).

    Google Scholar 

  7. L. Cardelli “Typeful Programming“ DEC SRC Technical Report No. 45 (May 1989 )

    Google Scholar 

  8. Connor, R. C. H., Brown, A. B., Cutts, Q. I., Dearle, A., Morrison, R. and Rosenberg, J. (1990) Type Equivalence Checking in Persistent Object Systems. In A. Dearle, G. M. Shaw and S. B. Zdonik (eds), Implementing Persistent Object Bases, Principles and Practice, pp. 151–164, Morgan Kaufmann

    Google Scholar 

  9. L. Cardelli and D. McQueen “Persistence and Type Abstraction” In M.P. Atkinson, O.P. Buneman and R. Morrison (editors) “Data Types and Persistence”, Springer-Verlag ( 1988 ) pp 31–41

    Google Scholar 

  10. Connor, R. C. H. (1990) Types and Polymorphism in Persistent Programming Systems. Ph.D. Thesis, University of St Andrews.

    Google Scholar 

  11. Cutts, Q. I. (1992) Delivering the Benefits of Persistence to System Construction and Execution. Ph.D. Thesis, University of St Andrews.

    Google Scholar 

  12. Cardelli, L. and Wegner, P. (1985) On Understanding Types, Data Abstraction and Polymorphism. ACM Computing Surveys, 17 (4), 471–523.

    Google Scholar 

  13. J.-Y. Girard “Une extension de l'interpretation de Gödel á l'analyse, et son application á l'élimination des coupure dans l'analyse et théorie des types” Proc. 2nd Scandinavian Logic Symposium ( 1972 ) pp 63–92

    Google Scholar 

  14. Kirby, G. N. C., Brown, A. L., Connor, R. C. H. et al. (1995) The Napier88 Standard Library Reference Manual Version 2.2.1. University of St Andrews.

    Google Scholar 

  15. Kirby, G. N. C., Connor, R. C. H., Cutts, Q. I., Dearle, A., Farkas, A. M. and Morrison, R. (1992) Persistent HyperPrograms. In A. Albano and R. Morrison (eds), Persistent Object Systems, pp. 86–106, Springer-Verlag

    Google Scholar 

  16. Bernd Larssen and Florian Matthes, private communication at the DBPL workshop.

    Google Scholar 

  17. F. Matthes. Higher-Order Persistent Polymorphic Programming in Tycoon.In M.P. Atkinson, editor, Fully Integrated Data Environments. Springer-Verlag (to appear)

    Google Scholar 

  18. Morrison, R., Brown, A. L., Connor, R. C. H. et al. (1994) The Napier88 Reference Manual (Release 2.0). University of St Andrews.

    Google Scholar 

  19. J.C. Mitchell and G.D. Plotkin “Abstract Types have Existential Type” ACM ToPLaS 10, 3 (July 1988 ) pp. 470–502

    Google Scholar 

  20. J.C. Reynolds “Towards a Theory of Type Structure” Proc. Paris Colloquium on Programming ( 1974 ) pp 408–425

    Google Scholar 

  21. C. Strachey “Fundamental Concepts in Programming Languages” Oxford University Press ( 1967 )

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Sophie Cluet Rick Hull

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Connor, R. (1998). Existentially quantified procedures: A mechanism for abstracting type in dynamic typing constructs. In: Cluet, S., Hull, R. (eds) Database Programming Languages. DBPL 1997. Lecture Notes in Computer Science, vol 1369. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-64823-2_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-64823-2_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64823-9

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics