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.
Preview
Unable to display preview. Download preview PDF.
References
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
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
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
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
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
Cardelli, L. “Amber” Tech. Report AT7T. Bell Labs. Murray Hill, U.S.A. (1985).
L. Cardelli “Typeful Programming“ DEC SRC Technical Report No. 45 (May 1989 )
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
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
Connor, R. C. H. (1990) Types and Polymorphism in Persistent Programming Systems. Ph.D. Thesis, University of St Andrews.
Cutts, Q. I. (1992) Delivering the Benefits of Persistence to System Construction and Execution. Ph.D. Thesis, University of St Andrews.
Cardelli, L. and Wegner, P. (1985) On Understanding Types, Data Abstraction and Polymorphism. ACM Computing Surveys, 17 (4), 471–523.
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
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.
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
Bernd Larssen and Florian Matthes, private communication at the DBPL workshop.
F. Matthes. Higher-Order Persistent Polymorphic Programming in Tycoon.In M.P. Atkinson, editor, Fully Integrated Data Environments. Springer-Verlag (to appear)
Morrison, R., Brown, A. L., Connor, R. C. H. et al. (1994) The Napier88 Reference Manual (Release 2.0). University of St Andrews.
J.C. Mitchell and G.D. Plotkin “Abstract Types have Existential Type” ACM ToPLaS 10, 3 (July 1988 ) pp. 470–502
J.C. Reynolds “Towards a Theory of Type Structure” Proc. Paris Colloquium on Programming ( 1974 ) pp 408–425
C. Strachey “Fundamental Concepts in Programming Languages” Oxford University Press ( 1967 )
Author information
Authors and Affiliations
Editor information
Rights 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