Hostname: page-component-cd9895bd7-lnqnp Total loading time: 0 Render date: 2024-12-27T11:49:35.293Z Has data issue: false hasContentIssue false

Dynamics in ML

Published online by Cambridge University Press:  07 November 2008

Xavier Leroy
Affiliation:
École Normale Supérieure and INRIA Rocquencourt, France
Michel Mauny
Affiliation:
INRIA Rocquencourt, 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.

Objects with dynamic types allow the integration of operations that essentially require runtime type-checking into statically-typed languages. This paper presents two extensions of the ML language with dynamics, based on our work on the CAML implementation of ML, and discusses their usefulness. The main novelty of this work is the combination of dynamics with polymorphism.

Type
Articles
Copyright
Copyright © Cambridge University Press 1993

References

Abadi, M., Cardelli, L., Pierce, B. and Plotkin, G. (1989) Dynamic typing in a statically-typed language. In Principles of Programming Languages 1989. ACM Press.Google Scholar
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 Proceedings 1992 Workshop on ML and its Applications.Google Scholar
Aït-Kaci, H. (1990) The WAM: a real tutorial. Research report 5, DEC Paris Research Lab.Google Scholar
Cardelli, L. (1986) Amber. In Combinators and Functional Programming Languages, volume 242 of Lecture Notes in Computer Science. Springer-Verlag.Google Scholar
Cardelli, L. (1987) Basic polymorphic typechecking. Science of Computer Programming, 8(2):147172.CrossRefGoogle Scholar
Cardelli, L., Donahue, J., Jordan, M., Kalsow, B. and Nelson, G. (1989) The Modula-3 type system. In Principles of Programming Languages 1989, pp. 202212. ACM Press.Google Scholar
Cousineau, G. and Huet, G. (1990) The CAML primer. Technical report 122, INRIA.Google Scholar
Damas, L. and Milner, R. (1982) Principal type-schemes for functional programs. In Principles of Programming Languages 1982, pp. 207212. ACM Press.Google Scholar
Di Cosmo, R. (1992) Type isomorphisms in a type-assignment framework. In Principles of Programming Languages 1992, pp. 200210. ACM Press.Google Scholar
Dowek, G., Felty, A., Herbelin, H., Huet, G., Paulin-Mohring, C. and Werner, B. (1991) The Coq proof assistant user's guide: version 5.6. Technical report 134, INRIA.Google Scholar
Henglein, F. (1992) Dynamic typing. In European Symposium on Programming, volume 582 of Lecture Notes in Computer Science. Springer-Verlag.Google Scholar
Leroy, X. (1993) Polymorphism by name for references and continuations. In Principles of Programming Languages 1993. ACM Press.Google Scholar
Maier, D. and Warren, D. S. (1988) Computing with Logic: Logic programming with Prolog. Benjamin/Cummings.Google Scholar
Mairson, H. G. (1991) Outline of a proof theory of parametricity. In Functional Programming Languages and Computer Architecture 1991, volume 523 of Lecture Notes in Computer Science, pp. 313328. Springer-Verlag.Google Scholar
Mauny, M. (1991) Functional programming in CAML. Technical report 129, INRIA.Google Scholar
Miller, D. (1989) Lexical scoping as universal quantification. In Proceedings 6th International Conference for Logic Programming.CrossRefGoogle Scholar
Miller, D. (1991) Unification under a mixed prefix. Technical report MS-CIS-91-81, Computer Science Department, University of Pennsylvania. To appear in Journal of Symbolic Computation.Google Scholar
Milner, R., Tofte, M. and Harper, R. (1990) The Definition of Standard ML. MIT Press.Google Scholar
Mitchell, J. C. (1990) Type systems for programming languages. In van Leeuwen, J., editor, Handbook of Theoretical Computer Science, volume B, pp. 367458. MIT Press/Elsevier.Google Scholar
Mycroft, A. (1983) Dynamic types in ML. Draft.Google Scholar
Peyton-Jones, S. (1987) The Implementation of Functional Programming Languages. Prentice-Hall.Google Scholar
Rouaix, F. (1990) Safe run-time overloading. In Principles of Programming Languages 1990. ACM Press.Google Scholar
Thatte, S. R. (1990) Quasi-static typing. In Principles of Programming Languages 1990, pp. 367381. ACM Press.Google Scholar
Tofte, M. (1990) Type inference for polymorphic references. Information and Computation, 89(1).CrossRefGoogle Scholar
Wadler, P. (1989) Theorems for free! In Functional Programming Languages and Computer Architecture 1989. ACM Press.Google Scholar
Wadler, P. and Blott, S. (1989) How to make ad-hoc polymorphism less ad-hoc. In Principles of Programming Languages 1989. ACM Press.Google Scholar
Warren, D. H. (1983) An abstract Prolog instruction set. Technical note 309, SRI International.Google Scholar
Weis, P. et al. (1990) The CAML Reference Manual, version 2.6.1. Technical report 121, INRIA.Google Scholar
Submit a response

Discussions

No Discussions have been published for this article.