preliminary reference manual is at
**broken link removed**
from the above document:
The e language is an object-oriented programming language. Although e can be used to
create any general-purpose software program, it has been designed to facilitate the
verification of electronic designs. The verification-specific constructs that distinguish e
from other object-oriented languages such as C++ include:
• Constructs to define legal values for data items (constraints)
• Constructs to describe sequences over time (temporal constructs)
• Constructs to support concurrency (multi-threaded execution)
• Constructs to support connectivity (bit-level access)
The e language also is designed to reduce the effort required to write tests and to make the
high-level intent of the test readily apparent. In contrast to other object-oriented
programming languages, e’s unique extensibility lets you modify multiple data objects in a
single, separate test file that is layered on top of the base verification environment. This
extensibility feature allows you to address systemic, test-specific concerns that are not
localized to a single data object’s boundaries in a way that does not sacrifice modularity or
readability.
The e Language Reference Manual provides detailed information on the e programming
language.
For information on e’s built-in (predefined) methods and routines, refer to e Libraries.