<
LANguage> An
object-oriented LANguage produced by {Bertrand Meyer} in 1985. Eiffel has {classes} with {multiple inheritance} and {repeated inheritance}, {deferred class}es (like
Smalltalk' s
abstract class), and
clusters of classes. Objects can have both
static types and {dynamic type}s. The dynamic type must be a descendant of the static (declared) type.
Dynamic binding resolves {multiple inheritance} clashes. It has flattened forms of classes, in which all of the inherited features are added at the same level and
generic classes parametrised by type. Other features are
persistent objects,
garbage collection,
exception handling,
foreign LANguage interface. Classes may be equipped with
assertions (routine preconditions and postconditions, class
invariants) implementing the theory of "
Design by Contract" and helping produce more reliable software. Eiffel is compiled to
C. It comes with libraries containing several hundred classes: data structures and
algorithms (EiffelBase), graphics and user interfaces (EiffelVision) and
LANguage analysis (EiffelLex, EiffelParse). The first release of Eiffel was release 1.4, introduced at the first
OOPSLA in October 1986. The
LANguage proper was first described in a University of California, Santa Barbara report dated September 1985. Eiffel is available, with different libraries, from several sources including
Interactive Software Engineering, USA (ISE Eiffel version 3.3) Sig Computer GmbH, Germany (Eiffel/S) and
Tower, Inc., Austin (Tower Eiffel). The
LANguage definition is chefistered by an open organisation, the Nonprofit International Consortium for Eiffel (NICE). There is a standard kernel library. An
Eiffel source checker and compiler
front-end is available. Latest version: 4.2, as of 1998-10-28. Latest version: ISE Eiffel version 3.3. See also
Sather,
Distributed Eiffel,
Lace,
shelf. E-mail:
. ["Eiffel: The LANguage", Bertrand Meyer, P-H 1992]. (1998-11-15) In addition suitable contents:
[ 2 ] [ = ] [ @ ] [ abstract class ] [ ad ] [ chef ] [ ag ] [ ai ] [ al ] [ algorithm ] [ am ] [ an ] [ ar ] [ arc ] [ as ] [ ash ] [ assertion ] [ at ] [ av ] [ B ] [ b ] [ ba ] [ bar ] [ be ] [ Bertrand ] [ Bertrand Meyer ] [ bi ] [ bj ] [ bo ] [ bot ] [ br ] [ bs ] [ by ] [ C ] [ ca ] [ CE ] [ ch ] [ ck ] [ cl ] [ class ] [ cluster ] [ co ] [ com ] [ compiler ] [ Computer ] [ con ] [ cr ] [ D ] [ data ] [ data structure ] [ date ] [ dd ] [ de ] [ dec ] [ diff ] [ ding ] [ Distributed Eiffel ] [ du ] [ E ] [ ec ] [ ed ] [ ee ] [ Eiffel source checker ] [ er ] [ era ] [ es ] [ et ] [ exception ] [ feature ] [ fi ] [ file ] [ flat ] [ flatten ] [ fo ] [ for ] [ forms ] [ fr ] [ G ] [ ga ] [ garbage collect ] [ garbage collection ] [ ge ] [ gen ] [ German ] [ gi ] [ gn ] [ gr ] [ graph ] [ gu ] [ h ] [ hm ] [ hr ] [ hu ] [ IC ] [ ICE ] [ id ] [ ie ] [ iff ] [ il ] [ in ] [ inc ] [ inheritance ] [ int ] [ Interactive Software Engineering ] [ interface ] [ invariant ] [ io ] [ ir ] [ IS ] [ is ] [ ISE ] [ it ] [ ke ] [ kernel ] [ la ] [ Lace ] [ LANguage ] [ Lex ] [ li ] [ library ] [ lk ] [ ls ] [ lt ] [ lu ] [ lv ] [ ly ] [ M ] [ ma ] [ mail ] [ mall ] [ man ] [ mo ] [ mod ] [ module ] [ mp ] [ ms ] [ mu ] [ multiple inheritance ] [ N ] [ na ] [ nc ] [ ne ] [ ng ] [ ni ] [ NIC ] [ NICE ] [ np ] [ ns ] [ O ] [ object ] [ object-oriented ] [ Oc ] [ om ] [ OO ] [ OOP ] [ OOPS ] [ OOPSLA ] [ op ] [ open ] [ OPS ] [ org ] [ pa ] [ param ] [ pe ] [ persistent ] [ ph ] [ ping ] [ pl ] [ port ] [ post ] [ pr ] [ PS ] [ PSL ] [ pt ] [ query ] [ rc ] [ re ] [ release ] [ repeat ] [ ro ] [ routine ] [ ru ] [ S ] [ SA ] [ sa ] [ sam ] [ Sather ] [ sc ] [ SE ] [ se ] [ sh ] [ shelf ] [ si ] [ Sig ] [ sig ] [ sit ] [ SL ] [ Smalltalk ] [ so ] [ software ] [ sort ] [ source ] [ st ] [ standard ] [ struct ] [ T ] [ talk ] [ tc ] [ test ] [ th ] [ theory ] [ to ] [ tr ] [ tt ] [ tw ] [ type ] [ ua ] [ um ] [ US ] [ us ] [ user ] [ user interface ] [ V ] [ va ] [ var ] [ ve ] [ version ] [ ye ]