Skip to main content

Combining recursive and dynamic types

  • Conference paper
  • First Online:
Typed Lambda Calculi and Applications (TLCA 1993)

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

Included in the following conference series:

  • 147 Accesses

Abstract

A denotational semantics of simply typed lambda calculus with a basic type Dynamic, modelling values whose type is to be inspected at runtime, has been given by Abadi e.a.[1]. We extend this interpretation to cover (formally contractive) recursive types as well. Soundness of typing rules and freeness of run-time type errors for well-typed programs hold.

The interpretation works also for implicitly polymorphic languages like ML with Dynamic and recursive types, and for explicitly polymorphic languages under the types-as-ideals interpretation.

This work has been supported by the Esprit Working Group BRA 7232, GENTZEN.

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. M. Abadi, L. Cardelli, B. Pierce, and G. Plotkin. Dynamic typing in a statically-typed language. In 16th POPL, pages 213–227, 1989.

    Google Scholar 

  2. M. Abadi, L. Cardelli, B. Pierce, and D. Remy. Dynamic typing in polymorphic languages. In ACM SIGPLAN Workshop on ML and its Applications. San Francisco, California, June 20–21, 1992, pages 92–103, 1992.

    Google Scholar 

  3. L. Cardelli. Amber. In G. Cousineau, P. L. Curien, and B. Robinet, editors, Combinators and Functional Programming Languages. Springer LNCS 242, 1986.

    Google Scholar 

  4. F. Cardone and M. Coppo. Type inference with recursive types: Syntax and semantics. Information and Computation, 92(1):48–80, May 1991.

    Google Scholar 

  5. G. Cousineau and G. Huet. The CAML Primer. Version 2.6. Project Formel, INRIA-ENS, April 1989.

    Google Scholar 

  6. R. Harper, R. Milner, and M. Tofte. The definition on Standard ML — Version 2. LFCS Report Series ECS-LFCS-88-62, Dept. of Computer Science, Univ. of Edinburgh, 1988.

    Google Scholar 

  7. F. Henglein. Dynamic typing. In European Symposium on Programming (ESOP). Rennes, France, pages 233–253. Springer LNCS, vol. 582, 1992.

    Google Scholar 

  8. X. Leroy and M. Mauny. Dynamics in ML. In Conf. on Functional Programming Languages and Computer Architecture. Cambridge, Massachusetts, August 1991, pages 406–426. Springer LNCS 523.

    Google Scholar 

  9. D. MacQueen, G. Plotkin, and R. Sethi. An ideal model for recursive polymorphic types. In Proceedings of the 11th ACM Symposium on Principles of Programming Languages, 1984.

    Google Scholar 

  10. D. C. J. Matthews. Static and Dynamic Type-Checking. In: Papers on Poly/ML. Technical Report 161, Computer Laboratory, University of Cambridge, February 1989.

    Google Scholar 

  11. R. Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348–375, 1978.

    Google Scholar 

  12. A. Mycroft. Dynamic types in statically typed languages (preliminary draft). Unpublished typescript, December 1983.

    Google Scholar 

  13. A. Mycroft. Dynamic types in statically typed languages (2nd draft version). Unpublished typescript, August 1984.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Marc Bezem Jan Friso Groote

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Leiß, H. (1993). Combining recursive and dynamic types. In: Bezem, M., Groote, J.F. (eds) Typed Lambda Calculi and Applications. TLCA 1993. Lecture Notes in Computer Science, vol 664. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0037111

Download citation

  • DOI: https://doi.org/10.1007/BFb0037111

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-56517-8

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics