Skip to main content
    • Aa
    • Aa

First-class patterns

  • BARRY JAY (a1) and DELIA KESNER (a2)

Pure pattern calculus supports pattern-matching functions in which patterns are first-class citizens that can be passed as parameters, evaluated and returned as results. This new expressive power supports two new forms of polymorphism. Path polymorphism allows recursive functions to traverse arbitrary data structures. Pattern polymorphism allows patterns to be treated as parameters which may be collected from various sources or generated from training data. A general framework for pattern calculi is developed. It supports a proof of confluence that is parameterised by the nature of the matching algorithm, suitable for the pure pattern calculus and all other known pattern calculi.

Linked references
Hide All

This list contains references from the content that can be linked to their source. For a full set of references and notes please see the PDF or HTML where available.

H. Cirstea & C. Kirchner (2001) The rewriting calculus – Part I and II, Logic Journal of the IGPL, 9 (3), 427498.

R. De Nicola , G. L. Ferrari & R. Pugliese (1998) KLAIM: A kernel language for agents interaction and mobility. IEEE Trans. Software Engng 24 (5), 315330.

J. Forest & D. Kesner (2003) Expression reduction systems with patterns. In Proceedings of the 14th International Conference on Rewriting Techniques and Applications (RTA). Robert Nieuwenhuis (ed), Valencia, Spain, vol. 2706, Lecture Notes in Computer Science, Berlin: Springer, pp. 107122.

B. Jay (2009) Pattern Calculus: Computing with Functions and Structures. Berlin: Springer.

C. B. Jay (2004) The pattern calculus. ACM Trans. Prog. Lang. Sys. 26 (6), 911937.

J.-W. Klop , V. van Oostrom & R. de Vrijer (2008) Lambda calculus with patterns. Theoret. Comp. Sci. 398 (1–3), 1631.

L. C. Paulson (1994) Isabelle: A Generic Theorem-Prover, vol. 828, Lecture Notes in Computer Science. Springer.

E. Visser (2004) Program transformation with Stratego/XT: Rules, strategies, tools, and systems in StrategoXT-0.9. In Domain-Specific Program Generation: Revised Papers, vol. 3016, Lecture Notes in Computer Science, Berlin: Springer pp. 216238.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Journal of Functional Programming
  • ISSN: 0956-7968
  • EISSN: 1469-7653
  • URL: /core/journals/journal-of-functional-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 6 *
Loading metrics...

Abstract views

Total abstract views: 48 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 25th June 2017. This data will be updated every 24 hours.