Context-sensitive Rewriting
[EN] The appropriate selection of the arguments of functions that can be evaluated in function calls is often useful to improve efficiency, speed, termination behavior, and so on. This is essential, e.g., in the conditional if - then - else operator. We can specify this by associating a set mu( f) o...
| Autor: | |
|---|---|
| Tipo de recurso: | artículo |
| Fecha de publicación: | 2020 |
| País: | España |
| Institución: | Universitat Politècnica de València (UPV) |
| Repositorio: | RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia |
| Idioma: | inglés |
| OAI Identifier: | oai:riunet.upv.es:10251/166526 |
| Acceso en línea: | https://riunet.upv.es/handle/10251/166526 |
| Access Level: | acceso abierto |
| Palabra clave: | Programming languages Term rewriting LENGUAJES Y SISTEMAS INFORMATICOS |
| Sumario: | [EN] The appropriate selection of the arguments of functions that can be evaluated in function calls is often useful to improve efficiency, speed, termination behavior, and so on. This is essential, e.g., in the conditional if - then - else operator. We can specify this by associating a set mu( f) of indices of evaluable arguments to each function symbol f. With mu(if-then-else) = {1}, only the Boolean argument b in calls if b then e else e' is evaluated. In the realm of term rewriting, this is called context-sensitive rewriting. It has been proven useful to improve the termination behavior of rewriting computations while it is still able to compute (or approximate) canonical forms like head-normal forms, (infinite) values, and (infinite) normal forms by requiring a few reasonable conditions. This article provides an overview of basic results to use context-sensitive rewriting in practice. |
|---|