Advertisement

A Polymorphic Type System for the Lambda-Calculus with Constructors

  • Barbara Petit
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5608)

Abstract

We present a Curry-style second-order type system with union and intersection types for the lambda-calculus with constructors of Arbiser, Miquel and Rios, an extension of lambda-calculus with a pattern matching mechanism for variadic constructors. To prove the strong normalisation property for this system, we translate well-typed terms in an auxiliary calculus of case-normal forms using the interpretation method. We finally prove the strong normalisation property for the auxiliary calculus using the standard reducibility method.

Keywords

lambda-calculus polymorphism pattern matching strong normalisation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    The agda proof assistant, http://wiki.portal.chalmers.se/agda/
  2. 2.
    Arbiser, A., Miquel, A., Ríos, A.: The lambda-calculus with constructors: Syntax, confluence and separation. To appear in JFP (2009)Google Scholar
  3. 3.
    Barendregt, H.: The Lambda Calculus: Its Syntax and Semantics. Studies in Logic and The Foundations of Mathematics, vol. 103. North-Holland, Amsterdam (1984)zbMATHGoogle Scholar
  4. 4.
    Barthe, G., Cirstea, H., Kirchner, C., Liquori, L.: Pure patterns type systems. In: POPL, pp. 250–261 (2003)Google Scholar
  5. 5.
    Bertot, Y., Castéran, P.: Coq’Art: The Calculus of Inductive Constructions. Texts in Theoretical Computer Science, vol. 25. EATCS (2004)Google Scholar
  6. 6.
    Bondi, a programming language centred on pattern-matching, http://www-staff.it.uts.edu.au/~cbj/bondi/
  7. 7.
    Cirstea, H., Kirchner, C.: Rho-calculus, its syntax and basic properties. In: 5th International Workshop on Constraints in Computational Logics (1998)Google Scholar
  8. 8.
    Cirstea, H., Kirchner, C., Liquori, L.: The rho cube. In: Honsell, F., Miculan, M. (eds.) FOSSACS 2001. LNCS, vol. 2030, pp. 168–183. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  9. 9.
    Girard, J.-Y.: Locus solum: From the rules of logic to the logic of rules. Mathematical Structures in Computer Science 11(3), 301–506 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Girard, J.-Y., Lafont, Y., Taylor, P.: Proofs and Types. Cambridge University Press, Cambridge (1989)zbMATHGoogle Scholar
  11. 11.
    Hudak, P., Peyton-Jones, S., Wadler, P.: Report on the programming language Haskell, a non-strict, purely functional language (Version 1.2). Sigplan Notices (1992)Google Scholar
  12. 12.
    Jay, C.B.: The pattern calculus. ACM Transactions on Programming Languages and Systems 26(6), 911–937 (2004)CrossRefGoogle Scholar
  13. 13.
    Jay, C.B., Kesner, D.: Pure pattern calculus. In: Sestoft, P. (ed.) ESOP 2006. LNCS, vol. 3924, pp. 100–114. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Leroy, X.: The objective caml system, http://caml.inria.fr/
  15. 15.
    Milner, R., Tofte, M., Harper, R.: The definition of Standard ML. MIT Press, Cambridge (1990)Google Scholar
  16. 16.
    Mitchell, J.C.: Polymorphic type inference and containment. Inf. Comput. 76(2/3), 211–249 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Riba, C.: On the stability by union of reducibility candidates. In: Seidl, H. (ed.) FOSSACS 2007. LNCS, vol. 4423, pp. 317–331. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  18. 18.
    Terese. Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Barbara Petit
    • 1
  1. 1.LIP - ENS LyonLyonFrance

Personalised recommendations