This site contains older material on Eiffel. For the main Eiffel page, see http://www.eiffel.com.

EiffelBase: The ultimate in reusability

Eiffel Power (TM) from ISE

EiffelBase, covered by the open-source IFFEL license, is one of the principal contributions of Eiffel: a library of fundamental structures and algorithms covering the basics of computing, and resulting from a "Linnaean" effort at a general-purpose taxonomy of computing structures. EiffelBase is one of the most carefully designed and extensively used libraries in the object-oriented industry.

The library and its design principles are described in detail in the book Reusable Software: The Base Object-Oriented Component Libraries.

Kernel

The Kernel library covers the most common needs:

    Universal classes providing facilities potentially useful for all classes: ANY and GENERAL. Every class is a descendant of these classes.

    Fine control of the exception handling mechanism.

    Arrays and strings.

    Elements on which standard arithmetic operations are available.

    Hashable elements, for use with hash tables.

    Basic arithmetic conversions.


Fundamental structures and algorithms

    Abstract structures, describing broad categories

    Lists in their various forms

    List elements

    Circular chains

    Sets and lists kept sorted

    Various trees and binary trees

    Cursor trees

    Hash tables (dictionaries)

    Dispensers: stacks, queues, priority queues

EiffelBase Basic Libraries

Support Library
The Support Library provides a number of classes that extend the language and environment facilities, enabling programmers to develop advanced uses of Eiffel: class STORABLE provides a way to produce a logical image of an entire data structure in a file; class MEMORY for fine tuning of the memory management mechanism; and more.

Data Structure Library
The Data Structure Library provides implementations of fundamental data structures and algorithms: Abstract structures, describing broad categories; lists in their various forms; list elements; circular chains; sorted sets and lists; various trees and binary trees; cursor trees; hash tables (dictionaries); various stacks, queues and priority queues; and more.

Iterations Library
The Iterations Library provides high-level templates that avoid using control structures such as loops and facilitates writing features so that control structures are more easily modified in descendant classes.