Skip to main content

A semantics for type checking

  • Invited Paper
  • Conference paper
  • First Online:

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

Abstract

Curry's system for F-deducibility is the basis for implicit type checking for programming languages such as ML. If a natural “preservation of types by conversion” rule is added it becomes undecidable, but complete relative to a variety of model classes. We show completeness for F-deducibility itself, relative to an extended notion of model which validates reduction but not conversion. Both term model and filter model proofs are given, and the extension to polymorphic typing is also considered.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barendregt, H.P. The lambda calculus: its syntax and semantics. Amsterdam: North-Holland (1984).

    Google Scholar 

  2. Barendregt, H.P., Coppo M., and Dezani-Ciancaglini, M. A filter lambda model and the completeness of type assignment. J. Symbolic Logic 48/4, pp. 931–940 (1984).

    Google Scholar 

  3. Coppo, M., Dezani, M., Honsell F. and Longo, G. Extended type structures and filter lambda models, in Logic Colloquium '82, ed. G. Lolli et al, pp 241–262. Amsterdam: North Holland (1983)

    Google Scholar 

  4. Giannini, P. and Ronchi Della Rocca, S. Characterisations of typings in polymorphic type discipline. In Proc. of the Third Annual IEEE Symposium on Logic in Computer Science, pp. 61–71. Los Alamitos: Computer Society Press of the IEEE (1988).

    Google Scholar 

  5. Hindley, R. The completeness theorem for typing lambda terms. Theoret. Comput. Sci. 22, pp. 1–17 (1983).

    Google Scholar 

  6. Hindley, R. Curry's type rules are complete with respect to the F-semantics too. Theoret. Comput. Sci. 22, pp. 127–133 (1983).

    Google Scholar 

  7. Jay, C. B. Long βη-normal forms in confluent categories. To appear (1991).

    Google Scholar 

  8. Leivant, D. Polymorphic type inference, in Proceedings, 10th Annual ACM Symposium on Principles of Programming Languages, pp. 88–89 (1983).

    Google Scholar 

  9. Milner, R. A theory of type polymorphism in programming. J. Comput. System Sci. 17, pp. 348–375 (1985).

    Google Scholar 

  10. Mitchell, J. C. Polymorphic type inference and containment. Information and Computation 76, pp. 211–249 (1988).

    Article  Google Scholar 

  11. Plotkin, G.D. A set-theoretical definition of application. Research Memorandum MIP-R-95, 32 pp. Dept. of Machine Intelligence and Perception, University of Edinburgh (1972).

    Google Scholar 

  12. Rydeheard, D.E. and Stell, J.G. Foundations of equational deduction: a categorical treatment of equational proofs and unification algorithms, in: Pitt et al, (eds), Category theory and Computer Science, Lecture Notes in Computer Science 283 pp. 114–139. Berlin: Springer Verlag (1987).

    Google Scholar 

  13. Seely, R.A.G. Modelling computations a 2-categorical framework, in: Proceedings of the Second Annual IEEE Symposium on Logic in Computer Science, pp. 65–71. Los Alamitos: Computer Society Press of the IEEE (1987).

    Google Scholar 

  14. Tiuryn, J. Type inference problems: a survey, in B. Rovan (ed.) Proceedings, Mathematical Foundations of Computer Science. Lecture Notes in Computer Science 452 pp. 105–120. Berlin: Springer Verlag (1990).

    Google Scholar 

  15. Yokouchi, H. Embedding second order type system into intersection type system and its application to type inference. To appear (1991).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Takayasu Ito Albert R. Meyer

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Plotkin, G. (1991). A semantics for type checking. In: Ito, T., Meyer, A.R. (eds) Theoretical Aspects of Computer Software. TACS 1991. Lecture Notes in Computer Science, vol 526. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54415-1_38

Download citation

  • DOI: https://doi.org/10.1007/3-540-54415-1_38

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54415-9

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics