Articles
Metalevel Computation in Maude

https://doi.org/10.1016/S1571-0661(05)80020-9Get rights and content
Under a Creative Commons license
open access

Abstract

Maude's language design and implementation make systematic use of the fact that rewriting logic is reflective. This makes the metatheory of rewriting logic accessible to the user in a clear and principled way, and makes possible many advanced metaprogramming applications, including user-definable strategy languages, language extensions by new module composition operations, development of theorem proving tools, and reifications of other languages and logics within rewriting logic. A naive implementation of reflection can be computationally very expensive. We explain the semantic principles and implementation techniques through which efficient ways of performing reflective computations are achieved in Maude through its predefined META-LEVEL module.

We are indebted to José F. Quesada for his excellent work on the MSCP context-free parser for Maude, that---besides being used for different parsing functions in Maude---is used as a key component of the built-in function meta-parse in META-LEVEL. We cordially thank Carolyn Talcott for many discussions on metalevel issues that have contributed to the development of our ideas.

Cited by (0)

Supported by DARPA through Rome Laboratories Contract F30602-97-C-0312, by Office of Naval Research Contract N00014-96-C-0114, and by National Science Foundation Grant CCR-9633363.