Advertisement

Subtyping with singleton types

  • David Aspinall
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 933)

Abstract

We give syntax and a PER-model semantics for a typed λ-calculus with subtypes and singleton types. The calculus may be seen as a minimal calculus of subtyping with a simple form of dependent types. The aim is to study singleton types and to take a canny step towards more complex dependent subtyping systems. Singleton types have applications in the use of type systems for specification and program extraction: given a program P we can form the very tight specification {P} which is met uniquely by P. Singletons integrate abbreviational definitions into a type system: the hypothesis x: {M} asserts x=M. The addition of singleton types is a non-conservative extension of familiar subtyping theories. In our system, more terms are typable and previously typable terms have more (non-dependent) types.

Keywords

Type System Typing Rule Typing Judgement Minimal Type Typing Derivation 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Asp95]
    David R. Aspinall. Algebraic specification in a type-theoretic setting. Forthcoming PhD thesis, Department of Computer Science, University of Edinburgh, 1995.Google Scholar
  2. [BL90]
    Kim B. Bruce and Giuseppe Longo. A modest model of records, inheritance and bounded quantification. Information and Computation, 87:196–240, 1990.CrossRefMathSciNetGoogle Scholar
  3. [BTCGS91]
    Val Breazu-Tannen, Thierry Coquand, Carl A. Gunter, and Andre Scedrov. Inheritance as implicit coercion. Information and Computation, 93:172–221, 1991.CrossRefGoogle Scholar
  4. [Car88a]
    Luca Cardelli. A semantics of multiple inheritance. Information and Computation, 76:138–164, 1988.CrossRefGoogle Scholar
  5. [Car88b]
    Luca Cardelli. Structural subtyping and the notion of power type. In Fifteenth Annual ACM Symposium on Principles of Programming Languages, 1988.Google Scholar
  6. [CG92]
    Pierre-Louis Curien and Giorgio Ghelli. Coherence of subsumption, minimum typing and type-checking in F≤. Mathematical Structures in Computer Science, 2:55–91, 1992.Google Scholar
  7. [CL91]
    Luca Cardelli and Giuseppe Longo. A semantic basis for Quest. Journal of Functional Programming, 1(4):417–458, 1991.Google Scholar
  8. [Hay94]
    Susumu Hayashi. Singleton, union and intersection types for program extraction. Information and Computation, 109, 1994.Google Scholar
  9. [HL80]
    R. Hindley and G. Longo. Lambda calculus models and extensionality. Z. Math. Logik Grundlag. Math., 26:289–310, 1980.Google Scholar
  10. [HP91]
    Robert Harper and Robert Pollack. Type checking with universes. Theoretical Computer Science, 89:107–136, 1991.CrossRefGoogle Scholar
  11. [KST94]
    Stefan Kahrs, Donald Sannella, and Andrzej Tarlecki. The definition of Extended ML. Technical Report ECS-LFCS-94-300, LFCS, Department of Computer Science, University of Edinburgh, 1994.Google Scholar
  12. [SP94]
    Paula Severi and Erik Poll. Pure Type Systems with Definitions. In Logical Foundations of Computer Science, LFCS'94, Lecture Notes in Computer Science 813, pages 316–328. Springer-Verlag, 1994.Google Scholar
  13. [SST92]
    Donald T. Sannella, Stefan Sokolowski, and Andrzej Tarlecki. Toward formal development of programs from algebraic specifications: Parameterisation revisited. Acta Informatica, 29:689–736, 1992.CrossRefGoogle Scholar
  14. [SW83]
    Donald Sannella and Martin Wirsing. A kernel language for algebraic specification and implementation. In Proceedings of International Conference on Foundations of Computation Theory, Borgholm, Sweden, Lecture Notes in Computer Science 158. Springer-Verlag, 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • David Aspinall
    • 1
  1. 1.Department of Computer ScienceUniversity of EdinburghUK

Personalised recommendations