next up previous contents
Next: Manual structure Up: Introduction Previous: A high-performance logical framework   Contents

Core Maude vs. Full Maude

We call Core Maude the Maude 2 interpreter implemented in C++ and providing all of Maude's basic functionality. Part I explains in detail all the aspects of Core Maude, including its syntax and parsing, functional and system modules, module hierarchies, module parameterization with theories and module instantiation with views, its suite of predefined modules, the model-checking capabilities, object-based programming, reflection, and metalanguage uses.

Full Maude is an extension of Maude, written in Maude itself, that endows the language with an even more powerful and extensible module algebra than that available in Core Maude. As in Core Maude, modules can be parameterized and instantiated with views, but in addition views can also be parameterized. Full Maude also provides generic modules for $n$-tuples. Object-oriented modules (which can also be parameterized) support notation for objects, messages, classes, and inheritance.

Full Maude itself can be used as a basis for further extensions, by adding new functionality. It is possible both to change the syntax or the behavior of existing features, and to add new features. In this way Full Maude becomes a common infrastructure on top of which one can build tools, such as, e.g., the Church-Rosser and coherence checkers, as well as environments for other languages, such as, e.g., the Real-Time Maude tool for specifying and analyzing real-time systems [64,65], and the Maude MSOS tool for modular structural operational semantics [10].


next up previous contents
Next: Manual structure Up: Introduction Previous: A high-performance logical framework   Contents
The Maude Team