Hostname: page-component-cd9895bd7-q99xh Total loading time: 0 Render date: 2024-12-26T05:50:32.795Z Has data issue: false hasContentIssue false

Dynamic typing in polymorphic languages

Published online by Cambridge University Press:  07 November 2008

M. Abadi
Affiliation:
Digital Equipment Corp., Systems Research Center, 130 Lytton Avenue, Palo Alto, CA 94301, USA
L. Cardelli
Affiliation:
Digital Equipment Corp., Systems Research Center, 130 Lytton Avenue, Palo Alto, CA 94301, USA
B. Pierce
Affiliation:
Department of Computer Science, University of Edinburgh, Edinburgh EH9 3JZ, UK
D. Rémy
Affiliation:
INRIA, Domaine de Voluceau, Rocquencourt, B.P. 105, 78153 Le Chesnay Cedex, France
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

There are situations in programming where some dynamic typing is needed, even in the presence of advanced static type systems. We investigate the interplay of dynamic types with other advanced type constructions, discussing their integration into languages with explicit polymorphism (in the style of system F), implicit polymorphism (in the style of ML), abstract data types, and subtyping.

Type
Articles
Copyright
Copyright © Cambridge University Press 1995

References

Abadi, M., Cardelli, L., Pierce, B. and Plotkin, G. (1991) Dynamic typing in a statically-typed language. ACM Transactions on Programming Languages and Systems, 13(2):237268.CrossRefGoogle Scholar
Abadi, M, Cardelli, L., Pierce, B. and Rémy, D. (1992) Dynamic typing in polymorphic languages. In Lee, P. (ed.), ACM Sigplan Workshop on ML and its Applications, pp. 92103. (Technical Report CMU-CS-93-105, School of Computer Science, Carnegie Mellon University.)Google Scholar
Birtwistle, G. M., Dahl, O.-J., Myhrhaug, B. and Nygaard, K. (1979) Simula Begin. Studentlitteratur (Lund, Sweden), Bratt Institute Fuer Neues Lerned (Goch, FRG), Chartwell-Bratt Ltd.Google Scholar
Cardelli, L., and Wegner, P. (1985) On understanding types, data abstraction, and polymorphism. Computing Surveys 17(4), December.CrossRefGoogle Scholar
Cardelli, L., Martini, S., Mitchell, J. C. and Scedrov, A. (1991) An extension of system F with subtyping. In Ito, T. and Meyer, A. R. (eds.) Theoretical Aspects of Computer Software, Lecture Notes in Computer Science 526, Springer-Verlag, pp. 750770.Google Scholar
Cardelli, L. (1988) Amber. In Cousineau, G., Curien, P. L. and Robinet, B. (eds.), Combinators and Functional Programming Languages, Lecture Notes in Computer Science 242. Springer-Verlag, pp. 2147.Google Scholar
Cardelli, L. (1988) Structural subtyping and the notion of power type. Proc. 15th ACM Symposium on Principles of Programming Languages, pp. 7079.Google Scholar
Ghelli, G. (1990) Proof theoretic studies about a minimal type system integrating inclusion and parametric polymorphism. PhD thesis, Università di Pisa. (Technical report TD-6/90, Dipartimento di Informatica, Università di Pisa.)Google Scholar
Girard, J.-Y. (1972) Interprétation fonctionelle et élimination des coupures de l'arithmétique d'ordre supérieur. PhD thesis, Université Paris VII.Google Scholar
Gordon, M. (1980) Adding Eval to ML. Personal communication.Google Scholar
Henglein, F. (1993) Dynamic typing: Syntax and proof theory. Science of Computer Programming. Special Issue on European Symposium on Programming 1992.Google Scholar
Lampson, B. (1983) A description of the Cedar language. Technical Report CSL-83-15, Xerox Palo Alto Research Center.Google Scholar
Leroy, X. and Mauny, M. (1991) Dynamics in ML. In Hughes, J. (ed.) Functional Programming Languages and Computer Architecture 1991, Lecture Notes in Computer Science 523, Springer-Verlag, pp. 406426.Google Scholar
Liskov, B., Atkinson, R., Bloom, T., Moss, E., Schaffert, J. C., Scheifler, R. and Snyder, A. (1981) CLU Reference Manual. Springer-Verlag.Google Scholar
Milner, R., Tofte, M. and Harper, R. W. (1990) The Definition of Standard ML. MIT Press.Google Scholar
Mitchell, J. and Plotkin, G. (1988) Abstract types have existential type. ACM Transactions on Programming Languages and Systems, 10(3): 470502, July.Google Scholar
Mycroft, A. (1983) Dynamic types in ML. Draft.Google Scholar
Nelson, G. (ed.) Systems Programming in Modula-3. Prentice Hall.Google Scholar
Reynolds, J. (1974) Towards a theory of type structure. Proc. Colloque sur la Programmation, Lecture Notes in Computer Science 19. Springer-Verlag, pp. 408425.Google Scholar
Rovner, P. (1986) On extending Modula-2 to build large, integrated systems. IEEE Software, 3(6):4657, November.CrossRefGoogle Scholar
Thatte, S. R. (1990) Quasi-static typing (preliminary report). Proc. Seventeenth ACM Symposium on Principles of Programming Languages,, pp. 367381.Google Scholar
Weis, P., Aponte, M.-V., Laville, A., Mauny, M. and Suárez, A. (1990) The CAML reference manual. Research report 121, INRIA, Rocquencourt, September.Google Scholar
Wirth, N. (1987) From Modula to Oberon and the programming language Oberon. Technical Report 82, Institut für Informatik, ETH, Zurich.Google Scholar
Submit a response

Discussions

No Discussions have been published for this article.