|
Title: Theory and Practice of Dynamic Patterns
Abstract: Pure pattern calculus supports pattern-matching functions in which patterns are first-class citizens: they can be passed as parameters, evaluated and returned as results. The simplicity and power of the calculus derive from allowing any term to be a pattern. This new expressive calculus supports two new forms of polymorphism. Path polymorphism allows recursive functions to traverse arbitrary data structures. Pattern polymorphism supports the dynamic creation and evaluation of patterns. In this talk we present practical exemples to motivate the use of programming languages where patterns are first-class citizens. We then introduce a formal framework to model a functional language with dynamic patterns. We discuss some fundamental properties of pattern calculi such as confluence, standardisation, sharing and optimality. >>more
|