Skip to main content Accessibility help
×
Home
Hostname: page-component-5959bf8d4d-9mpts Total loading time: 0.258 Render date: 2022-12-10T06:44:45.426Z Has data issue: true Feature Flags: { "useRatesEcommerce": false } hasContentIssue true

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

HTML view is 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.Google 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.Google 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.
You have Access
7
Cited by

Save article to Kindle

To save this article to your Kindle, first ensure coreplatform@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

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

Save article to Dropbox

To save this article to your Dropbox account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you used this feature, you will be asked to authorise Cambridge Core to connect with your Dropbox account. Find out more about saving content to Dropbox.

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

Save article to Google Drive

To save this article to your Google Drive account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you used this feature, you will be asked to authorise Cambridge Core to connect with your Google Drive account. Find out more about saving content to Google Drive.

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

Reply to: Submit a response

Please enter your response.

Your details

Please enter a valid email address.

Conflicting interests

Do you have any conflicting interests? *