Hostname: page-component-848d4c4894-xfwgj Total loading time: 0 Render date: 2024-06-16T17:44:02.874Z Has data issue: false hasContentIssue false

The λ-calculus with constructors: Syntax, confluence and separation

Published online by Cambridge University Press:  14 September 2009

ARIEL ARBISER
Affiliation:
Departamento de Computación – Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires, Argentina (e-mail: arbiser@dc.uba.ar)
ALEXANDRE MIQUEL
Affiliation:
PPS & Université Paris 7 – Case 7014, 2 Place Jussieu, 75251 PARIS Cedex 05, France (e-mail: alexandre.miquel@pps.jussieu.fr)
ALEJANDRO RÍOS
Affiliation:
Departamento de Computación – Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires, Argentina (e-mail: rios@dc.uba.ar)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

We present an extension of the λ(η)-calculus with a case construct that propagates through functions like a head linear substitution, and show that this construction permits to recover the expressiveness of ML-style pattern matching. We then prove that this system enjoys the Church–Rosser property using a semi-automatic ‘divide and conquer’ technique by which we determine all the pairs of commuting subsystems of the formalism (considering all the possible combinations of the nine primitive reduction rules). Finally, we prove a separation theorem similar to Böhm's theorem for the whole formalism.

Type
Articles
Copyright
Copyright © Cambridge University Press 2009

References

Arbiser, A., Miquel, A. & Ríos, A. (2006) A λ-calculus with constructors. In Lecture Notes in Computer Science Volume 4098. International Conference of Rewriting Techniques and Applications. Springer-Verlag.CrossRefGoogle Scholar
Baader, F. & Nipkow, T. (1999) Rewriting and All That. Addison-Wesley.Google Scholar
Barendregt, H. (1984) The lambda calculus: Its syntax and semantics., In Studies in Logic and The Foundations of Mathematics, Barwise, J., Kaplan, D., Keisler, H. J., Suppes, P. and Troelstra, A. S. (eds), vol. 103. North-Holland.Google Scholar
Böhm, C., Dezani-Ciancaglini, M., Peretti, P. & Ronchi Della Rocha, S. (1979) A discrimination algorithm inside lambda-beta-calculus. Theor. Comput. Sci., 8 (3): 265291.CrossRefGoogle Scholar
Cerrito, S. & Kesner, D. (1999) Pattern matching as cut elimination. In Logics In Computer Science (LICS'99), IEEE Computer Society, pp. 98108.Google Scholar
Church, A. (1941) The calculi of lambda-conversion. In Annals of Mathematical Studies, vol. 6. Princeton.Google Scholar
Cirstea, H. & Kirchner, C. (1998) Rho-calculus, the rewriting calculus. In Fifth International Workshop on Constraints in Computational Logics, Jerusalem, Israel.Google Scholar
Girard, J.-Y. (2001) Locus solum: From the rules of logic to the logic of rules. Math. Struct. Comput. Sci., 11 (3): 301506.CrossRefGoogle Scholar
Hudak, P., Peyton-Jones, S. & Wadler, P. (1992) Report on the programming language Haskell, a non-strict, purely functional language (Version 1.2). Sigplan Notices.CrossRefGoogle Scholar
Jay, C. B. (2004) The pattern calculus. ACM Trans. Program. Lang. Syst., 26 (6): 911937.CrossRefGoogle Scholar
Jay, C. B. & Kesner, D. (2006) Pure pattern calculus. In Lecture Notes in Computer Science, Sestoft, P. (ed), vol. 3924. Springer, pp. 100114.Google Scholar
Kahl, W. (2003) Basic pattern matching calculi: Syntax, reduction, confluence, and normalisation. In Technical Report 16, Software Quality Research Laboratory, McMaster University.Google Scholar
Leroy, X. et al. (2008) The Objective Caml system release 3.11. Documentation and user's manual. http://caml.inria.fr/.Google Scholar
Milner, R., Tofte, M. & Harper, R. (1990) The Definition of Standard ML. MIT Press.Google Scholar
Ríos, A. (1993) Contribution à l'étude des λ-calculs avec substitutions explicites. PhD thesis, Université Paris 7.Google Scholar
Terese. (2003) Term Rewriting Systems, Bezem, Marc, Klop, Jan Willem and de Vrijer, Roel (eds), Cambridge University Press. Cambridge Tracts in Theoretical Computer Science 55.Google Scholar
van Oostrom, V. (1990) Lambda calculus with patterns. In Technical Report IR-228, Vrije Universiteit.Google Scholar
Submit a response

Discussions

No Discussions have been published for this article.