skip to main content
10.1145/512644.512671acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free Access

"Type" is not a type

Published:01 January 1986Publication History

ABSTRACT

A function has a <i>dependent type</i> when the type of its result depends upon the value of its argument. Dependent types originated in the type theory of intuitionistic mathematics and have reappeared independently in programming languages such as CLU, Pebble, and Russell. Some of these languages make the assumption that there exists a <i>type-of-all-types</i> which is its own type as well as the type of all other types. Girard proved that this approach is inconsistent from the perspective of intuitionistic logic. We apply Girard's techniques to establish that the type-of-all-types assumption creates serious pathologies from a programming perspective: a system using this assumption is inherently not normalizing, term equality is undecidable, and the resulting theory fails to be a conservative extension of the theory of the underlying base types. The failure of conservative extension means that classical reasoning about programs in such a system is not sound.

References

  1. Reference manual for the Ada programming language. G.P.O. 008-000-00354-8, 1980.Google ScholarGoogle Scholar
  2. H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics. Volume 103 of Studies in Logic and the Foundations of Mathematics, North-Holland, Amsterdam, second edition, 1984.Google ScholarGoogle Scholar
  3. H. P. Barendregt and A. Rezus. Semantics for classical AUTOMATH and related systems. Information and Control, 59:127--147, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H. Boehm, A. Demers, and J. Donahue. An Informal Description of Russell. Technical Report TR80-430, Cornell University, Computer Science Department, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. K. B. Bruce and A. R. Meyer. The semantics of second order polymorphic lambda calculus. In G. Kahn, D. B. MacQueen, and G. Plotkin, editors, Semantics of Data Types, pages 131--144, Springer-Verlag, Berlin, June 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. Burstall and B. W. Lampson. A kernel language for abstract data types and modules. In G. Kahn, D. B. MacQueen, and G. Plotkin, editors, Semantics of Data Types, pages 1--50, Springer-Verlag, Berlin, June 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. T. Coquand and G. Huet. Constructions: A Higher Order Proof System for Mechanizing Mathematics. Rapport de Recherche 401, INRIA, Domaine de Voluceau, 78150 Rocquencourt, France, May 1985. Presented at EUROCAL 85, Linz, Austria. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. H. B. Curry and R. Feys. Combinatory Logic. Volume 1, North-Holland, Amsterdam, 1958.Google ScholarGoogle Scholar
  9. N. G. de Bruijn. Lambda-calculus notation with nameless dummies. Indag. Math., 34(5):381--392, 1972.Google ScholarGoogle ScholarCross RefCross Ref
  10. N. G. de Bruijn. A survey of the project AUTOMATH. In J. P. Seldin and R. Hindley, editors, To H. B. Curry: Essays in Combinatory Logic, Lambda Calculus, and Formalism, pages 579--606, Academic Press, New York, 1980.Google ScholarGoogle Scholar
  11. J. Donahue and A. Demers. Data types are values. ACM Transactions on Programming Languages and Systems, 7(3):426--445, July 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Fortune, D. Leivant, and M. O'Donnell. The expressiveness of simple and second-order type structures. Journal of the ACM, 30(1):151--185, January 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. G. Gentzen. Investigations into logical deduction. In M. E. Szabo, editor, The Collected Papers of Gerhard Gentzen, North-Holland, Amsterdam, 1969.Google ScholarGoogle Scholar
  14. G. Gentzen. Investigations into logical deduction. Mathematische Zeitschrift, 39:176--210 and 405--431, 1934. See {13} for an English translation.Google ScholarGoogle ScholarCross RefCross Ref
  15. J. Girard. Interpr&amp;eacute;tation fonctionelle et &amp;eacute;limination des coupures dans l'arithm&amp;eacute;tique d'ordre sup&amp;eacute;ricure. Ph.D. thesis, Universit&amp;eacute; Paris VII, 1972.Google ScholarGoogle Scholar
  16. W. A. Howard. The formulae-as-types notion of construction. 1969. Recently published as {17}.Google ScholarGoogle Scholar
  17. W. A. Howard. The formulae-as-types notion of construction. In J. P. Seldin and R. Hindley, editors, To H. B. Curry: Essays in Combinatory Logic, Lambda Calculus, and Formalism, pages 479--490, Academic Press, New York, 1980.Google ScholarGoogle Scholar
  18. B. Liskov, R. Atkinson, T. Bloom, E. Moss, J. C. Schaffert, R. Scheifler, and A. Snyder. CLU Reference Manual. Volume 114 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P. Martin-L&amp;ouml;f. An intuitionistic theory of types: predicative part. In F. Rose and J. Sheperdson, editors, Logic Colloquium III, pages 73--118, North-Holland, Amsterdam, July 1973.Google ScholarGoogle Scholar
  20. P. Martin-L&amp;ouml;f. A Theory of Types. Report 71--3, Department of Mathematics, University of Stockholm, February 1971.Google ScholarGoogle Scholar
  21. N. J. McCracken. An Investigation of a Programming Language with a Polymorphic Type Structure. Ph.D. thesis, Syracuse University, Syracuse, New York, June 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A. R. Meyer and J. C. Mitchell. Second-order logical relations (extended abstract). In R. Parikh, editor, Logics of Programs, pages 225--236, Springer-Verlag, Berlin, June 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. C. Mitchell. Lambda Calculus Models of Typed Programming Languages. Ph.D. thesis, Massachusetts Institute of Technology, Cambridge, Massachusetts, August 1984.Google ScholarGoogle Scholar
  24. J. C. Mitchell and G. D. Plotkin. Abstract types have existential type. In Principles of Programming Languages, pages 37--51, ACM, New York, January 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. L. Paulson. Deriving structural induction in LCF. In G. Kahn, D. B. MacQueen, and G. Plotkin, editors, Semantics of Data Types, pages 197--214, Springer-Verlag, Berlin, June 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. G. D. Plotkin. Personal communication, March 1985.Google ScholarGoogle Scholar
  27. D. Prawitz. Natural Deduction: A Proof-Theoretical Study. Volume 3 of Stockholm Studies in Philosophy, Almqvist and Wiksell, Stockholm, 1965.Google ScholarGoogle Scholar
  28. J. C. Reynolds. Polymorphism is not set-theoretic. In G. Kahn, D. B. MacQueen, and G. D. Plotkin, editors, Semantics of Data Types, pages 145--156, Springer-Verlag, Berlin, June 1984.Google ScholarGoogle ScholarCross RefCross Ref
  29. J. C. Reynolds. Towards a theory of type structure. In B. Robinet, editor, Programming Symposium, pages 408--425, Springer-Verlag, Berlin, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. J. C. Reynolds. Types, abstraction, and parametric polymorphism. In R. E. A. Mason, editor, Information Processing 83, pages 513--523, North-Holland, 1983.Google ScholarGoogle Scholar
  31. A. Rezus. Abstract AUTOMATH. Mathematical Centre Tract 160, Mathematisch Centrum, Amsterdam, 1983.Google ScholarGoogle Scholar
  1. "Type" is not a type

    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
    • Published in

      cover image ACM Conferences
      POPL '86: Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
      January 1986
      326 pages
      ISBN:9781450373470
      DOI:10.1145/512644

      Copyright © 1986 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 January 1986

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate824of4,130submissions,20%

      Upcoming Conference

      POPL '25

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader