Advertisement

Principal Typings for Explicit Substitutions Calculi

  • Daniel Lima Ventura
  • Mauricio Ayala-Rincón
  • Fairouz Kamareddine
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5028)

Abstract

Having principal typings (for short PT) is an important property of type systems. In simply typed systems, this property guarantees the possibility of a complete and terminating type inference mechanism. It is well-known that the simply typed λ-calculus has this property but recently J.B. Wells has introduced a system-independent definition of PT, which allows to prove that some type systems, e.g. the Hindley/Milner type system, do not satisfy PT. Explicit substitutions address a major computational drawback of the λ-calculus and allow the explicit treatment of the substitution operation to formally correspond to its implementation. Several extensions of the λ-calculus with explicit substitution have been given but some of which do not preserve basic properties such as the preservation of strong normalization. We consider two systems of explicit substitutions (λs e and λσ) and show that they can be accommodated with an adequate notion of PT. Specifically, our results are as follows:

∙ We introduce PT notions for the simply typed versions of the λs e - and the λσ-calculi and prove that they agree with Wells’ notion of PT.

∙ We show that these versions satisfy PT by revisiting previously introduced type inference algorithms.

Keywords

lambda-calculus explicit substitution principal typings 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [ACCL91]
    Abadi, M., Cardelli, L., Curien, P.-L., Lévy, J.-J.: Explicit Substitutions. J. of Functional Programming 1(4), 375–416 (1991)zbMATHCrossRefGoogle Scholar
  2. [ARMoKa2005]
    Ayala-Rincón, M., de Moura, F., Kamareddine, F.: Comparing and Implementing Calculi of Explicit Substitutions with Eta-Reduction. Annals of Pure and Applied Logic 134, 5–41 (2005)CrossRefMathSciNetzbMATHGoogle Scholar
  3. [ARKa2001a]
    Ayala-Rincón, M., Kamareddine, F.: Unification via the λs e-Style of Explicit Substitution. The Logical Journal of the Interest Group in Pure and Applied Logics 9(4), 489–523 (2001)zbMATHGoogle Scholar
  4. [AyMu2000]
    Ayala-Rincón, M., Muñoz, C.: Explicit Substitutions and All That. Revista Colombiana de Computación 1(1), 47–71 (2000)Google Scholar
  5. [Bo95]
    Borovanský, P.: Implementation of Higher-Order Unification Based on Calculus of Explicit Substitutions. In: Bartošek, M., Staudek, J., Wiedermann, J. (eds.) SOFSEM 1995. LNCS, vol. 1012, pp. 363–368. Springer, Heidelberg (1995)Google Scholar
  6. [deBru72]
    de Bruijn, N.G.: Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. Indagationes Mathematicae 34, 381–392 (1972)Google Scholar
  7. [DoHaKi2000]
    Dowek, G., Hardin, T., Kirchner, C.: Higher-order Unification via Explicit Substitutions. Information and Computation 157(1/2), 183–235 (2000)CrossRefMathSciNetzbMATHGoogle Scholar
  8. [Hi97]
    Hindley, J.R.: Basic Simple Type Theory. Cambridge Tracts in Theoretical Computer Science, vol. 42. Cambridge University Press, Cambridge (1997)zbMATHGoogle Scholar
  9. [Jim96]
    Jim, T.: What are principal typings and what are they good for? In: Proc. of POPL 1995: Symp. on Principles of Programming Languages, pp. 42–53. ACM, New York (1996)Google Scholar
  10. [KR97]
    Kamareddine, F., Ríos, A.: Extending a λ-calculus with Explicit Substitution which Preserves Strong Normalisation into a Confluent Calculus on Open Terms. J. of Func. Programming 7, 395–420 (1997)CrossRefzbMATHGoogle Scholar
  11. [Mel95]
    Melliès, P.-A.: Typed λ-calculi with explicit substitutions may not terminate. In: Dezani-Ciancaglini, M., Plotkin, G. (eds.) TLCA 1995. LNCS, vol. 902, pp. 328–334. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  12. [NaWi98]
    Nadathur, G., Wilson, D.S.: A Notation for Lambda Terms A Generalization of Environments. Theoretical Computer Science 198, 49–98 (1998)CrossRefMathSciNetzbMATHGoogle Scholar
  13. [We2002]
    Wells, J.: The essence of principal typings. In: Widmayer, P., Triguero, F., Morales, R., Hennessy, M., Eidenbenz, S., Conejo, R. (eds.) ICALP 2002. LNCS, vol. 2380, pp. 913–925. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Daniel Lima Ventura
    • 1
  • Mauricio Ayala-Rincón
    • 1
  • Fairouz Kamareddine
    • 2
  1. 1.Grupo de Teoria da Computação, Dep. de MatemáticaUniversidade de BrasíliaBrasília D.F.Brasil
  2. 2.School of Mathematical and Computer SciencesHeriot-Watt UniversityEdinburghScotland UK

Personalised recommendations