An extended polymorphic type system for applicative languages

  • Mario Coppo
Part of the Lecture Notes in Computer Science book series (LNCS, volume 88)


This paper deals with the problem of finding a type system for programming languages, which allows the greatest generality in the definition of polymorphic procedures. The type system introduced in this paper can be seen as an extension of the one proposed in /MLN/ (which is implemented in the language ML).

The rules for type assignement are given and their semantic correctness is proved. Moreover, some results about the semantic characterization of typed terms are proved.


Type System Type Variable Combinatory Logic Denotational Semantic Type Assignment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. /BJ/.
    C. Ben-Yelles “Type assignment in the lambda-calculus: Syntax and Semantics”, P.h.D. thesis, University of Wales (1979)Google Scholar
  2. /CD/.
    M. Coppo, M. Dezani-Ciancaglini. “An extension of Basic Functionality theory for λ-calculus”, Internal report, University of Turin. To appear in “Notre Dame Journal of Formal Logic”Google Scholar
  3. /CDV/.
    M. Coppo, M. Dezani-Ciancaglini, B. Venneri. “Principal Type Schemes and calculus Semantics” Internal report, University of Turin. To appear in: To H.B. Curry, Essays on Combinatory Logic, Lambda-calculus and Formalism, eds. R. Hindley and J.P. Seldin, Academic Press (1980).Google Scholar
  4. /CF/.
    H.B. Curry,R.Feys “Combinatory Logic I”, North-Holland (1958)Google Scholar
  5. /DD/.
    A. Demers, J. Donahue “Report on the Programming Language Russel”, TR79-371, Computer Science Department, Cornell University (1979)Google Scholar
  6. /DON/.
    J. Donahue “On the Semantics of data types”, TR77-311, Computer Science Department, Cornell University (1977)Google Scholar
  7. /GAM/.
    J.D. Gammon “An Experimental Evaluation of Data Type Conventions”, Comm. ACM 20,8 (1977) 584–595Google Scholar
  8. /GG/.
    D. Gries and N. Gehani “Some ideas on data types in high-level languages”, Camm. ACM. 20,6 (1977).Google Scholar
  9. /GMW/.
    M.J. Gordon, A.J. Milner, C.P. Wadsworth “Edimburgh LCF”, Lecture notes in Computer Science, n. 78.Google Scholar
  10. /HIN1/.
    R. Hindley “An abstract Church-Rosser Theorem II: applications”, Journal of Symbolic Logic, 39, 1 (1974), 1–21.Google Scholar
  11. /LS/.
    B. Liskov, A. Snyder “Abstraction Mechanisms in CLU”, Camm. ACM. 20,3 (1977), 564–583Google Scholar
  12. /MLN/.
    R. Milner “A theory of type polymorphism in programming”, Journ. Comp. and Syst. Science 17,3 (1978), 348–375.Google Scholar
  13. /MR/.
    J. H. Morris “Lambda-calculus models of programming languages”, Ph.D.Thesis, MAC-TR-57, MIT (1968)Google Scholar
  14. /PTK1/.
    G. Plotkin, “LCF considered as a programming language”, J. Theoret. Comput. Sci. 5,3 (1977) 522–537Google Scholar
  15. /PTK2/.
    G. Plotkin “T ω as a Universal Domain”, J. Comput. System Sci. 17,2 (1978), 209–236.Google Scholar
  16. /REY/.
    J.C. Reynolds “Towards a theory of type structure”, Lecture Notes in Computer Science n. 12, 408–425Google Scholar
  17. /STY/.
    J. Stoy “Denotational Semantics”, MIT Press (1977)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • Mario Coppo
    • 1
  1. 1.Istituto di Scienza dell'InformazioneUniversità di TorinoTorinoItaly

Personalised recommendations