skip to main content
research-article
Open Access

Types with intersection: An introduction

Authors Info & Claims
Published:01 September 1992Publication History
Skip Abstract Section

Abstract

Abstract

This paper is an informal introduction to the theory of types which use a connective “∧” for the intersection of two types and a constant “ω” for a universal type, besides the usual connective “→” for function-types. This theory was first devised in about 1977 by Coppo, Dezani and Sallé in the context ofλ-calculus and its main development has been by Coppo and Dezani and their collaborators in Turin. With suitable axioms and rules to assign types toλ-calculus terms, they obtained a system in which (i) the set of types given to a term does not change underλ-conversion, (ii) some interesting sets of terms, for example the solvable terms and the terms with normal form, can be characterised exactly by the types of their members, and (iii) the type-apparatus is not so complex as polymorphic systems with quantifier-containing types and therefore probably not so expensive to implement mechanically as these systems.

There are in fact several variant systems with different detailed properties. This paper defines and motivates the simplest one from which the others are derived, and describes its most basic properties. No proofs are given but the motivation is shown by examples. A comprehensive bibliography is included.

References

  1. [AlB91] Alessi, F. and Barbanera, F.: Strong Conjunction and intersection Types. In:Mathematical Foundations of Computer Science 1991, A. Tarlecki (ed.),Lecture Notes in Computer Science 520, Springer-Verlag, pp. 64–73 (1991).Google ScholarGoogle Scholar
  2. [Bak92] van Bakel, S: Complete Restrictions of the Intersection Type Discipline,Theoretical Computer Science (to appear).Google ScholarGoogle Scholar
  3. [BaD91] Barbanera, F. and Dezani, M.: Intersection and Union Types. In:Theoretical Aspects of Computer Software, International Conference TACS '91,Sendai, Japan, September 1991,Proceedings, T. Ito and A. R. Meyer (eds.),Lecture Notes in Computer Science 526, Springer-Verlag, pp. 651–674 (1991).Google ScholarGoogle Scholar
  4. [Bar89] Barbanera, F.: Combining Term Rewriting and Type Assignment Systems,Proc. Third Italian Conf. on Theoretical Computer Science, Mantova 1989, A. Bertoniet al. (eds) World Scientific Press, pp. 71–84 (1989). (To appear inFoundations of Computer Science).Google ScholarGoogle Scholar
  5. [BCD83] Barendregt H. P.Coppo M.Dezani M.A Filter Lambda Model and the Completeness of Type AssignmentJournal of Symbolic Logic198348931940Google ScholarGoogle ScholarCross RefCross Ref
  6. [BoR89] Bosio, E. and Ronchi della Rocca, S.: Type Synthesis for Intersection Type Discipline. In:Proc. Third Italian Conference on Theoretical Computer Science Mantova 1989, A. Bertoniet al. (eds.), World Scientific Press, pp. 109–122, (1989).Google ScholarGoogle Scholar
  7. [Chu40] Church A.A Formalisation of the Simple Theory of TypesJournal of Symbolic Logic194055668Google ScholarGoogle ScholarCross RefCross Ref
  8. [Cop80] Coppo, M.: An Extended Polymorphic Type System for Applicative Languages. In: Mathematical Foundations of Computer Science 1980, Proceedings of the 9th Symposium, Held in Rydzyna, Poland, P. Dembinski (ed.),Lecture Notes in Computer Science 88, Springer-Verlag, pp. 194–204 (1980).Google ScholarGoogle Scholar
  9. [CoD78] Coppo M.Dezani M.A New Type-Assignment for Lambda TermsArchiv für Math. Logik197819139156Google ScholarGoogle ScholarCross RefCross Ref
  10. [CoD80] Coppo M.Dezani M.An Extension of the Basic Functionality Theory for theλ-CalculusNotre Dame Journal of Formal Logic198021685693Google ScholarGoogle ScholarCross RefCross Ref
  11. [CDH83] Coppo, M., Dezani, M., Honsell, F. and Longo, G.: Extended Type Structures and Filter Lambda Models. In:Logic Colloquium '82, G. Lolliet al., (eds), North-Holland, pp. 241–262 (1983).Google ScholarGoogle Scholar
  12. [CDS79] Coppo, M., Dezani, M. and Sallé, P.: Functional Characterization of Some Semantic Equalities Insideλ-Calculus. In: Automata, Languages and programming, Sixth Colloquium, Graz, July 1979, H. A. Maurer (ed.),Lecture Notes in Computer Science 71, Springer-Verlag, pp. 133–146 (1979).Google ScholarGoogle Scholar
  13. [CDV80] Coppo, M., Dezani, M. and Venneri, B. Principal Type Schemes and λ-Calculus Semantics. In:To H. B. Curry, J. R. Hindley and J. P. Seldin (eds), Academic Press, pp. 535–560 (1980).Google ScholarGoogle Scholar
  14. [CDV81] Coppo M.Dezani M.Venneri B.Functional Characters of Solvable TermsZeit. Math. Logik1981274558Google ScholarGoogle ScholarCross RefCross Ref
  15. [CDZ87] Coppo M.Dezani M.Zacchi M.Type-Theories, Normal Forms, and D-Lambda ModelsInformation and Computation19877285116Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [Cur69] Curry H. B.Modified Basic Functionality in Combinatory LogicDialectica1969238392Google ScholarGoogle ScholarCross RefCross Ref
  17. [DeH92] Dezani, M. and Hindley, J. R.: Intersection Types for Combinatory Logic,Theoretical Computer Science (to appear).Google ScholarGoogle Scholar
  18. [DeM84] Dezani, M. and Margaria, I.: F-Semantics for Intersection Type Discipline. In: Semantics of Data Types, International Symposium, Sophia-Antipolis, France, June 1984, Proceedings, G. Kahn, D. MacQueen and G. Plotkin (eds.),Lecture Notes in Computer Science, 173, Springer-Verlag, 279–300 (1984).Google ScholarGoogle Scholar
  19. [DeM86] Dezani M.Margaria I.A Characterization of F-complete Type AssignmentsTheoretical Computer Science198645121157Google ScholarGoogle Scholar
  20. [Hay91] Hayashi, S.: Singleton, union and intersection types for program extraction. In: Theoretical Aspects of Computer Software, international Conference TACS '91, Sendai, Japan, September 1991, Proceedings, T. Ito and A. R. Meyer (eds.),Lecture Notes in Computer Science 526, Springer-Verlag, pp. 701–730 (1991).Google ScholarGoogle Scholar
  21. [Hin82] Hindley, J. R.: The Simple Semantics for Coppo-Dezani-Sallé Types. In: International Symposium on programming, 5th Colloquium, Turin, April 1982, M. Dezani and U. Montanari (eds.),Lecture Notes in Computer Science 137, Springer-Verlag, 212–226 (1982).Google ScholarGoogle Scholar
  22. [HiS86] Hindley, J. R. and Seldin, J. P.:Introduction to Combinators and λ-Calculus, Cambridge University Press, 1986.Google ScholarGoogle Scholar
  23. [HoR91] Honsell, F. and Ronchi della Rocca, S.: Reasoning About Interpretation in Qualitative Lambda Models. In:IFIP TC2 Working Conf. on Programming Concepts and Methods 1990, North-Holland, pp. 492–508, (1991).Google ScholarGoogle Scholar
  24. [Lop85a] Lopez-Escobar, E. K. G.: Proof Functional Connectives. In:Lecture Notes in Mathematics. 1130, Springer-Verlag, 208–221 (1985).Google ScholarGoogle Scholar
  25. [Lop85b] Lopez-Escobar E. K. G.On Intuitionistic Sentential ConnectivesRev. Colombiana de Math.198519117130Google ScholarGoogle Scholar
  26. [MaZ91] Margaria, I., Zacchi, M.: Principal Typing in a Polymorphic-intersection Type Discipline. MS, Dipartimento di Informatica, Corso Svizzera 185, Turin, Italy (1991).Google ScholarGoogle Scholar
  27. [Min89] Mints G.The Completeness of Provable RealizabilityNotre Dame Journal of Formal Logic198930420441Google ScholarGoogle ScholarCross RefCross Ref
  28. [Pie91] Pierce B. C.Programming with intersection types, union types and polymorphismTechnical Report CMU-CS-91-1061991Pittsburgh, USASchool of Computer Science, Carnegie Mellon UniversityGoogle ScholarGoogle Scholar
  29. [Pot80] Pottinger, G.: A Type Assignment for the Strongly Normalizable λ-Terms. In:To H. B. Curry, J. R. Hindley and J. P. Seldin (eds), Academic Press, pp. 561–577, (1980).Google ScholarGoogle Scholar
  30. [Rey88] Reynolds J. C.Preliminary Design of the Programming Language ForsytheReport CMU-CS-88-1591988Pittsburgh, USAComputer Science Department, Carnegie-Mellon UniversityGoogle ScholarGoogle Scholar
  31. [Rey89] Reynolds, J. C.: Syntactic Control of Interference, Part 2. In: Automata, Languages and Programming, 16th International Colloquium, Stresa, Italy, July 1989, Proceedings, G. Ausiello, M. Dezani and S. Ronchi della Rocca (eds.),Lecture Notes in Computer Science 372, Springer-Verlag, pp. 704–722 (1989).Google ScholarGoogle Scholar
  32. [Rey91] Reynolds, J. C.: The Coherence of Languages with Intersection Types. In: Theoretical Aspects of Computer Software, International Conference TACS '91, Sendai, Japan, September 1991, Proceedings, T. Ito and A. R. Meyer (eds.),Lecture Notes in Computer Science 526, Springer-Verlag, pp. 675–700 (1991).Google ScholarGoogle Scholar
  33. [Ron82] Ronchi Della Rocca S.Characterization Theorems for a Filter Lambda ModelInformation and Control198254201216Google ScholarGoogle Scholar
  34. [RoV84] Ronchi Della Rocca S.Venneri B.Principal Type-Schemes for an Extended Type TheoryTheoretical Computer Science198428151169Google ScholarGoogle ScholarCross RefCross Ref
  35. [Sal78] Sallé, P.: Une Extension de la Théorie des Types. In: Automata, Languages and Programming, Fifth Colloquium, Udine, July 1978, G. Ausiello and C. Böhm (eds.),Lecture Notes in Computer Science 62, Springer-Verlag, pp. 398–410 (1978).Google ScholarGoogle Scholar

Index Terms

  1. Types with intersection: An introduction
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader