Typed Generic Traversal With Term Rewriting Strategies
Ralf Laemmel
Abstract
A typed model of strategic term rewriting is developed. The key innovation is that generic traversal is covered. To this end, we define a typed rewriting calculus S'gamma. The calculus employs a many-sorted type system extended by designated generic strategy types gamma. We consider two generic strategy types, namely the types of type-preserving and type-unifying strategies. S'gamma offers traversal combinators to construct traversals or schemes thereof from many-sorted and generic strategies. The traversal combinators model different forms of one-step traversal, that is, they process the immediate subterms of a given term without anticipating any scheme of recursion into terms. To inhabit generic types, we need to add a fundamental combinator to lift a many-sorted strategy s to a generic type gamma. This step is called strategy extension. The semantics of the corresponding combinator states that s is only applied if the type of the term at hand fits, otherwise the extended strategy fails. This approach dictates that the semantics of strategy application must be type-dependent to a certain extent. Typed strategic term rewriting with coverage of generic term traversal is a simple but expressive model of generic programming. It has applications in program transformation and program analysis.
Create a lesson
Related papers
Typechecking without Minimum Types: Finite Bases and Backward Checking for F<:^
Mingkun Xiao, Yixuan Sun
Verifying deployed bytecode against executable EVM semantics, with exact gas and no added axioms
Seulkee Baek
Recursive Formation and First-Class Reuse of Compositional Capabilities
Hang Lin
OpenMQPI: An MLIR-based Pipeline to Offload Quantum Circuits via OpenMP
Ercüment Kaya, Ekin Devim Şahinkaya, Minh Chung et al.
Compositional Information Geometry of Probabilistic Programs
Jacek Karwowski, Frank Nielsen, Sam Staton
Scenario Proofs for Verification of Distributed Protocols
Zhendong Ang, George Pîrlea, Umang Mathur