Skip to main content

Dynamics in ML

  • Conference paper
  • First Online:
Book cover Functional Programming Languages and Computer Architecture (FPCA 1991)

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

Abstract

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

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. Martín Abadi, Luca Cardelli, Benjamin Pierce, and Gordon Plotkin. Dynamic typing in a statically-typed language. In Proc. Symp. Principles of Programming Languages, 1989.

    Google Scholar 

  2. Martín Abadi, Luca Cardelli, Benjamin Pierce, and Gordon Plotkin. Dynamic typing in a statically-typed language. Research report 47, DEC Systems Research Center, 1989. Extended version of [1].

    Google Scholar 

  3. Andrew Appel. Run-time tags aren't necessary. Lisp and Symbolic Computation, 2(2):153–162, June 1989.

    Google Scholar 

  4. Luca Cardelli. Amber. In Combinators and Functional Programming Languages, volume 242 of Lecture Notes in Computer Science. Springer-Verlag, 1986.

    Google Scholar 

  5. Luis Damas and Robin Milner. Principal type-schemas for functional programs. In Proc. Symp. Principles of Programming Languages, 1982.

    Google Scholar 

  6. Benjamin Goldberg. Tag-free garbage collection for strongly typed programming languages. In SIGPLAN conference on Programming Language Design and Implementation, 1991.

    Google Scholar 

  7. Michael Gordon. Adding eval to ML. Privately circulated note, circa 1980.

    Google Scholar 

  8. Gérard Huet. The Calculus of Constructions, documentation and user's guide. Technical report 110, INRIA, 1989.

    Google Scholar 

  9. David Maier and David S. Warren. Computing with logic: logic programming with Prolog. Benjamin/Cummings, 1988.

    Google Scholar 

  10. Dale Miller. Lexical scoping as universal quantification. In Proceedings of the sixth international conference for logic programming, 1989.

    Google Scholar 

  11. Dale Miller. Unification under a mixed prefix. Draft, 1990.

    Google Scholar 

  12. Robin Milner, Mads Tofte, and Robert Harper. The definition of Standard ML. The MIT Press, 1990.

    Google Scholar 

  13. Alan Mycroft. Dynamic types in ML. Draft, 1983.

    Google Scholar 

  14. Simon Peyton-Jones. The implementation of functional programming languages. Prentice-Hall, 1987.

    Google Scholar 

  15. François Rouaix. Safe run-time overloading. In Proc. Symp. Principles of Programming Languages, 1990.

    Google Scholar 

  16. Philip Wadler and Stephen Blott. How to make ad-hoc polymorphism less ad-hoc. In Proc. Symp. Principles of Programming Languages, 1989.

    Google Scholar 

  17. David H.D. Warren. An abstract Prolog instruction set. Technical note 309, SRI International, 1983.

    Google Scholar 

  18. Pierre Weis. The CAML reference manual, version 2.6.1. Technical report 121, INRIA, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

John Hughes

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Leroy, X., Mauny, M. (1991). Dynamics in ML. In: Hughes, J. (eds) Functional Programming Languages and Computer Architecture. FPCA 1991. Lecture Notes in Computer Science, vol 523. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3540543961_20

Download citation

  • DOI: https://doi.org/10.1007/3540543961_20

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54396-1

  • Online ISBN: 978-3-540-47599-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics