Previous Page
An exchange format
Next Page

ELAN - Library

Elementary data types such as booleans, integers, identifiers, strings are built-in. The equality and disequality operations for a given sort are built-in, as well as a few basic operations on terms (occurrence test and replacement). Recently, the standard input/output primitives have been also fully integrated in the system as built-in. A built-in module can be imported and used as any ELAN module but it only contains a declaration of built-in operations which are mapped to internal functions thanks to the special code attribute.

In addition, several modules implementing in ELAN useful data structures are provided in the ELAN library, such as modules defining parameterized lists, tuples and arrays. Other structures are more specific to the application domains, and the ELAN library provides modules to manipulate terms, substitutions, equational systems and to perform syntactic unification. This enumeration is not exhaustive and the library is continuously enriched by new modules written in ELAN.

A third level in the library is provided by functionalities related to the strategy language. The syntactic constructions of the strategy language which do not depend on the user specifications are described in an ELAN module of the library. Operations to dynamically create typed strategies are provided [14][13]. This module dedicated to user-defined strategies has to be imported for using the full expressivity of the strategy language in ELAN programs.