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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abadi, M., Cardelli, L., Curien, P.-L., Lévy, J.-J.: Explicit Substitutions. J. of Functional Programming 1(4), 375–416 (1991)
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)
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)
Ayala-Rincón, M., Muñoz, C.: Explicit Substitutions and All That. Revista Colombiana de Computación 1(1), 47–71 (2000)
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)
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)
Dowek, G., Hardin, T., Kirchner, C.: Higher-order Unification via Explicit Substitutions. Information and Computation 157(1/2), 183–235 (2000)
Hindley, J.R.: Basic Simple Type Theory. Cambridge Tracts in Theoretical Computer Science, vol. 42. Cambridge University Press, Cambridge (1997)
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)
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)
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)
Nadathur, G., Wilson, D.S.: A Notation for Lambda Terms A Generalization of Environments. Theoretical Computer Science 198, 49–98 (1998)
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)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ventura, D.L., Ayala-Rincón, M., Kamareddine, F. (2008). Principal Typings for Explicit Substitutions Calculi. In: Beckmann, A., Dimitracopoulos, C., Löwe, B. (eds) Logic and Theory of Algorithms. CiE 2008. Lecture Notes in Computer Science, vol 5028. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69407-6_60
Download citation
DOI: https://doi.org/10.1007/978-3-540-69407-6_60
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69405-2
Online ISBN: 978-3-540-69407-6
eBook Packages: Computer ScienceComputer Science (R0)