Eli provides a library of specification modules. Each module contains a complete set of specifications that solve a single common task in language implementation. If such a task is identified in the design of an application specification, the module is simply added to the application specification and used there.
Most modules solve a rather small task.
They can be flexibly combined to solve more complex problems. The first section introduces an example that is referred to in the other sections to explain the use of modules in the context of a language implementation task. The second section explains how modules are obtained from the library and are related to users' specifications. The remaining sections describe sublibraries for a certain problem class each. The section Name Analysis Library of Name Analysis Library , is a quick reference that helps to migrate specifications using modules of previous versions of this library.