Dynamics in ML

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.

[1]  John C. Mitchell,et al.  Type Systems for Programming Languages , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[2]  François Rouaix,et al.  Safe run-time overloading , 1989, POPL '90.

[3]  Luca Cardelli,et al.  Basic Polymorphic Typechecking , 1987, Sci. Comput. Program..

[4]  Benjamin Goldberg,et al.  Tag-free garbage collection for strongly typed programming languages , 1991, PLDI '91.

[5]  Martín Abadi,et al.  Dynamic typing in polymorphic languages , 1995, Journal of Functional Programming.

[6]  Dale Miller,et al.  A Logical Analysis of Modules in Logic Programming , 1989, J. Log. Program..

[7]  Roberto Di Cosmo,et al.  Type isomorphisms in a type-assignment framework , 1992, POPL '92.

[8]  Philip Wadler,et al.  How to make ad-hoc polymorphism less ad hoc , 1989, POPL '89.

[9]  Gérard Huet,et al.  The CAML primer , 1990 .

[10]  Amy P. Felty,et al.  The Coq proof assistant user's guide : version 5.6 , 1990 .

[11]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[12]  Xavier Leroy,et al.  Polymorphism by name for references and continuations , 1993, POPL '93.

[13]  Harry G. Mairson Outline of a Proof Theory of Parametricity , 1991, FPCA.

[14]  Mads Tofte,et al.  Type Inference for Polymorphic References , 1990, Inf. Comput..

[15]  Martín Abadi,et al.  Dynamic typing in a statically-typed language , 1989, POPL '89.

[16]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[17]  Robin Milner,et al.  Principal type-schemes for functional programs , 1982, POPL '82.

[18]  Fritz Henglein Dynamic Typing , 1992, ESOP.

[19]  Robin Milner,et al.  Definition of standard ML , 1990 .

[20]  Andrew W. Appel,et al.  Runtime tags aren't necessary , 1989, LISP Symb. Comput..

[21]  Dale Miller,et al.  Lexical Scoping as Universal Quantification , 1989, ICLP.

[22]  Satish R. Thatte Quasi-static typing , 1989, POPL '90.

[23]  Luca Cardelli. Amber Combinators and Functional Programming Languages , 1985, Lecture Notes in Computer Science.

[24]  Luca Cardelli,et al.  The Modula–3 type system , 1989, POPL '89.

[25]  AbadiMartín,et al.  Dynamic typing in a statically typed language , 1991 .

[26]  Bernard Robinet,et al.  Combinators and Functional Programming Languages , 1986 .

[27]  Dale Miller,et al.  Unification Under a Mixed Prefix , 1992, J. Symb. Comput..