Skip to main content

A completeness theorem for recursively defined types

  • Conference paper
  • First Online:
Automata, Languages and Programming (ICALP 1985)

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

Included in the following conference series:

Abstract

In this paper the notion of recursively defined type for a functional language is studied. The semantics of types (which are interpreted as subsets of a type-free domain following /MIL/) is built by successive approximations. An alternative approach, using metic spaces, has been given in /MPS/.

Using the properties of our construction, an algorithm to decide semantic equality beetween (recursively defined) types is given. Moreover a system of formal rules to assign types to terms, which is complete with respect to the above semantics, is introduced. A recursive subsystem is complete for terms in normal form.

Research partially supported by M.P.I. 40%, Gruppo Nazionale su Architetture e Linguaggi per la Programmazione Logica e Funzionale.

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. H. Barendregt-The lambda-calculus: its syntax and semantics. North-Holland 1981.

    Google Scholar 

  2. R. Burstall, D. Mc Queen, D. Sannella-Hope: an experimental applicative language. Proc. of the Lisp Conference, Stanford (1980), 136–143.

    Google Scholar 

  3. R. Cartwright-Types as intervals. Proc. of 12-th ACM Symposium on Principles of Programming Languages, New Orleans (1985).

    Google Scholar 

  4. B. Courcelle, G. Kanh, J. Vuillemin-Algoritmes d'equivalence et de reduction a des expressions minimales, dans une class d'equations recorsives simples. Proc. of ICALP '74, Lecture Notes in Computer Science 14, Springer-Verlag, 200–213.

    Google Scholar 

  5. M. Coppo — On the semantics of polymorphism. Acta Informatica 20 (1983), 159–170.

    Article  Google Scholar 

  6. M. Coppo — Completeness of type assignment in continuous lambda models. Theoret. Comput. Sci. 29 (1984), 309–324.

    Article  Google Scholar 

  7. M. Coppo-An extended polymorphic type system for applicative languages. Proc of MFCS '80, Lecture Notes in Computer Science 88, Springer-Verlag, 194–204.

    Google Scholar 

  8. M. Coppo-A completeness theorem for recursively defined types. Internal report, University of Turin (1984).

    Google Scholar 

  9. M. Coppo, E. Giovannetti-Completeness results for a polymorphic type system. proc. of CAAP '83, Lecture Notes in Computer Science 159, Springer-Verlag, 179–190.

    Google Scholar 

  10. B. Courcelle — Fundamental propeties of infinite trees. Theoret. Comput. Sci 25 (1983), 95–169.

    Article  Google Scholar 

  11. H. Curry, R. Feys-Combinatory Logic I. North-Holland 1958.

    Google Scholar 

  12. L. Damas, R. Milner-Principal type schemes for functional programs. Proc. of 9-th ACM Symposium on Principles of Programming Languages, Albuquerque (1982).

    Google Scholar 

  13. M. Gordon, R. Milner, C. Wadsworth-Edinburgh LCF. Lecture Notes in Computer Science 78, Springer-Verlag 1979.

    Google Scholar 

  14. J. Hyland — A syntactic characterization of the equality in some models of the lambda-calculus. J. London Math. Soc. 12 (2) (1976), 361–370.

    Google Scholar 

  15. J. Levy — An algebraic interpretation of the λ-β-K-calculus and an application to a labelled λ-calculus. Theoret. Comput. Sci. 2 (1976), 97–114.

    Article  Google Scholar 

  16. R. Milner — A thery of type polymorphism in programming. J. Comput. System Sci. 17 (1978), 348–375.

    Article  Google Scholar 

  17. J. Morris-Lambda-calculus models of programming languages. Ph. D. Thesis, Sloan Scool of Management, MIT (1968).

    Google Scholar 

  18. D. Mc Queen, G. Plotkin, R. Sethi-An ideal model for recursive polymorphic types. Proc. of the 11-th ACM Symposium on Principles of Programming Languages, 165–174.

    Google Scholar 

  19. D. Mc Queen, R. Sethi-A higher order polymorphic type system for applicative languages. Proc. of 1982 Symposium on Lisp and Functional Programming, 243–252.

    Google Scholar 

  20. G. Plotkin-The category of complete partial orders: a tool for making meanings. Summer Scool on Foundations of Artificial Intelligence and Computer Science, Pisa 1978.

    Google Scholar 

  21. D. Scott-Continuous lattices-in F. Lawvere ed., Toposes Algebraic Geometry and Logic, Lecture Notes in Mathematics 274, Springer-Verlag 1972, 97–136.

    Google Scholar 

  22. J. Stoy-Denotational Semantics. MIT Press 1977.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Wilfried Brauer

Rights and permissions

Reprints and permissions

Copyright information

© 1985 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Coppo, M. (1985). A completeness theorem for recursively defined types. In: Brauer, W. (eds) Automata, Languages and Programming. ICALP 1985. Lecture Notes in Computer Science, vol 194. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0015737

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-15650-5

  • Online ISBN: 978-3-540-39557-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics