Eiffel

Eiffel is a pure object-oriented language, developed by Bertrand Meyer in the 90's. It resembles Ada a bit. One thing to note about Eiffel is that it is strongly-typed, has a strict philosophy about what can and can not be done and that it requires a lot from compilers.

Some keywords:

  • Supports and initiated the idea of Design by contract - pre- and postconditions, loop variants etc.
  • Has an elegant model for multiple inheritance
  • Has an impressive semantic model to back up what is going on during object creation and manipulation
  • Has had garbage collection built in from the early beginnings

In short, it is the "ideal" OO language (ideal, but not the most widely used or known).

Its home: [L1 ]

The best-known book: B. Meyer, Object-oriented software construction, Prentice-Hall, 1988

-- AM


http://www.purl.org/NET/Tcl-FAQ/part1.html says:

D. Eiffel

mailto:[email protected] (Stephan Herrmann) says:

... [the tclish package provides] the marriage of two very different principles by means of combining two programming languages into a hybrid program architecture.

There are three classes for the user - tcl interpretor, tk application, and tk window. See ftp://hepunx.rl.ac.uk/pub/eiffel/tclish for details.

 What: TclEiffel
 Where: http://www.eiffel-forum.org/archive/bergmeyer/tcl-eiffel.htm  
 Description: A GUI extension to SmallEiffel 0.80.  Based on Tcl/Tk 8.0.
        Works on Linux and on Windows 95 with CygWin32.
 Updated: 10/1998
 Contact: Unknown (Joachim Bergmeyer)
 What: tclMIDI
 Where: ftp://ftp.boogie.com/pub/midi/ 
        ftp://ftp.procplace.com/pub/tcl/sorted/apps/tclmidi/4.1/ 
        http://madonna.me.berkeley.edu/~greg/tclmidi/ 
        ftp://xor.com/pub/midi/tclmidi-3.1.tar.gz 
        ftp://ftp.sterling.com/usenet/comp.sources.misc/packages/tclm/ 
 Description: Tclm is Tcl extended with dynamically loadable standard MIDI
        file manipulation commands.  It is designed for creating and editing
        standard MIDI files.  With the proper device interface it can also
        be used to play and record MIDI files.  This runs on Unix
        and Windows.  It comes with a device driver to interface
        with a few types of MIDI cards (MPU401, MQX32, Gravis UltraSound
        and SoundBlaster) and also supports using your
        serial port as a MIDI interface.
        The new maintainer of this code has rewritten the original Tclmidi
        in Eiffel.  It requires Tcl 8.x and SmallEiffel -0.79, midi-eiffel.
        The latest version of tclmidi is v4.1 and the latest version of
        midi-eiffel is v1.1
 Updated: 09/1999
 Contact: mailto:[email protected]  (Mike Durian)
 What: Tk for SmallEiffel
 Where: http://home.pages.de/~jbergmeyer/ 
 Description: Small extension for SmallEiffel which provides a GUI
        by connecting to a Tcl/Tk interpreter via a socket class.
 Updated: 10/1998
 Contact: mailto:[email protected]  (Joachim Bergmeyer)
 What: Omo
 Where: http://hepunx.rl.ac.uk/packages/omo.html 
        http://hepunx.rl.ac.uk/pub/packages/omo.tar.Z 
 Description: A design and reverse engineering tool able to accept and
        generate Eiffel code. It supports a class model.
 Updated: 09/1998
 Contact: mailto:[email protected] 
 What: eiftcl
 Where: ftp://ftp.procplace.com/pub/tcl/sorted/packages-7.6/devel/eiftcl.tar.gz 
 Description: Provide basic facilities for combining the programming
        languages Eiffel and Tcl into a hybrid program
        architecture.
 Updated: 10/1998
 Contact: mailto:[email protected]  (Stephan Herrmann)
 What: Gweld-TclTk
 Where: http://www.eiffel-forum.org/archive/tcltk/ 
 Description: An Eiffel widget library, using Tcl as Eiffel classes.  Works with
        SmallEiffel 0.86 and ISE Eiffel 4.0.  Uses Tcl 4.2.
 Updated: 10/1998
 Contact: Unknown (Roy Phillips)

See Also

SCOOP
Simple Concurrent object-oriented programming, a component of Eiffel
Eiffel-like invariants
Invariants in Tcl