From: jcm@hgc.edu (James McKim)
Subject: FAQ
Keywords: FAQ, Eiffel
Organization: The Hartford Graduate Center
Distribution: comp.lang.eiffel
Date: Thu, 23 Jul 1992 12:49:31 GMT

Rock Howard was keeping the FAQ file, but I think he's lost
access (temporarily, I hope) to the net. Here's the most up to date 
version that I kept.

Hope this helps,
-- Jim



	This is the FAQ list for comp.lang.eiffel.
Please email me any improvements, additions, updates, or corrections.
Also send me other frequently asked questions ( preferably with answers )
and I'll gladly incorporate them into the list. email: howard@ses.com

**************************************************************************

SPECIAL NOTE: I may be hard to reach via email during the holidays as
I set up operations in my new offices. My email address will be
changing as well although my email should be forwarded to me. You can also
contact via phone or snail mail as listed in my signature below.

I'll present a new FAQ early in January, as things are
changing quite rapidly in the Eiffel world at the moment. - Rock Howard

**************************************************************************

The information contained in these posts are a compilation of answers to
questions posted by participants in the comp.lang.eiffel USENET group.
No guarantees are made regarding the correctness of these responses.
This will get posted to comp.lang.eiffel about every other month or so
as traffic in comp.lang.eiffel warrants. There is currently no particular
order to this list, items will get added and removed over time.

Note:
This file was originated by Robert (Rock) Howard.
Mr. Howard is affiliated with Rock Solid Software ( a distributor of
Eiffel, Sather, and related products ) and is editor/publisher of the
Eiffel Outlook newsletter. I can take no responsibility for the correctness
of the information, but will gladly correct any mistakes you might point out.

**************************************************************************

Questions marked with 1 asterisk have a new or modified response.
Questions marked with 2 asterisks are new.
Questions marked with 3 asterisks are currently unanswered. Please help.

**************************************************************************

General:

G01)	What is Eiffel?
G02)	Where did Eiffel come from?
G03)*	Is Eiffel available in the public domain?
G04)*	How can I obtain Eiffel? Are their any school or student discounts?
G05)	What is Sather? How does it compare to Eiffel?
G06)	What books are available for learning about Eiffel?
G07)	Are any magazines or newsletters available concerning Eiffel?
G08)*	Is Eiffel available on PC, Mac, NeXT, Amiga, Atari, ...?
G09)	Is there an archive of the comp.lang.eiffel newsgroup?
G10)*	How much memory and disk space does Eiffel development require?
G11)*	How large are typical Eiffel executables?

Language:

L01)	What features does Eiffel have?
L02)	Is it true that Eiffel is too slow?
L03)*	Please explain and discuss covariance vs. contravariance.
L04)	Is it true that there are "holes" in the Eiffel type system?
L05)	What's the big deal about preconditions and postconditions?
L06)*	What libraries come with Eiffel?

**************************************************************************

G01)	What is Eiffel?
Eiffel is an object-oriented language that emphasizes the construction
of high-quality software. Eiffel is typically implemented by compilation to
C, ensuring wide portability. The ISE Eiffel compiler can generate stand-alone
C packages including makefiles to aid in porting finished applications.

Eiffel is a complete language definition unto itself. It is not a superset
or extension of any other language. The language syntax resembles Pascal.
See the language questions below for more explanation of Eiffel features.

G02)	Where did Eiffel come from?
Eiffel was created by Bertrand Meyer and developed by his company,
Interactive Software Engineering (ISE) of Goleta, CA. Dr. Meyer borrowed on
his extensive experience with OOP, particularly with Simula. He also added in
important concepts from his academic work on software verification and
computer language definition. Eiffel has evolved continually since its
first introduction in 1986.

G03)	Is Eiffel available in the public domain?
Eiffel is not currently available as a public domain product. ISE has
expressed willingness to support the serious efforts of those who wish
to create a PD Eiffel, but so far no such effort has succeeded.

The definition of the Eiffel language is in the public domain. This
definition is controlled by NICE, the Non-profit International Consortium
for Eiffel. This means that anyone or any company may create a compiler,
interpreter, or whatever having to do with Eiffel. NICE reserves the
right to validate that any such tool conforms to the current definition
of the Eiffel language before it can be distributed with the Eiffel trademark.
( i.e. advertised as an "Eiffel" compiler. )
The Eiffel trademark is owned and controlled by NICE. It received it from
ISE in the 1st quarter of 1991. NICE is using Dr. Meyer's new book,
`Eiffel: The Language Version 3', as the initial definition of the language.
NICE is working on obtaining a validation suite for conformance checking.

Sather, a recent subset/offshoot language is available for free. It has a
very unrestrictive license aimed at encouraging contribution to the public
library without precluding the use of Sather for proprietary projects.
In the United States, you may obtain the distribution by anonymous ftp
on the internet from <icsi-ftp.berkeley.edu>.
Use "ftp" as follows:

% ftp icsi-ftp.berkeley.edu
Connected to icsic.Berkeley.EDU.
220 icsi-ftp (icsic.berkeley.edu) FTP server (Version 5.60.l) ready.
Name (icsi-ftp:username): ftp
331 Guest login ok, send ident as password.
Password:
230 Guest login Ok, access restrictions apply.
ftp> cd pub/sather
250 CWD command successful.
ftp> binary
200 Type set to I.
ftp> get sather-0.01.beta.tar.Z
200 PORT command successful.
150 Opening BINARY mode data connection for sather-0.01.beta.tar.Z
(3035453 byte
s).226 Transfer complete.
local: sather-0.01.beta.tar.Z remote: sather-0.01.beta.tar.Z
3556225 bytes received in 18 seconds (1.6e+02 Kbytes/s)
ftp> quit
221 Goodbye.

Uncompress and unpack using:
% zcat sather-0.01.beta.tar.Z | tar xf -

Each directory has a README file describing its contents. Installation
instructions are in the file "INSTALL" in the "doc" directory.
In Europe Sather is available from: gmdzi.gmd.de
(currently: 129.26.1.90) in pub/Sather.

Sather is also distributed on electronic media by Rock Solid Software.
( 1/4" Cartridge tape only, media costs are $70 per tape (includes shipping
  in North America, add $10 for shipping elsewhere. )

The 0.01.beta release of Sather described above is completely unsupported
by anyone, although a mailing list exists that may be able to help with
questions. ( To join, send mail to sather-request@ICSI.Berkeley.EDU ). As
distributed, Sather has only been tested on SunOs 4.1. Some other ports
have taken place, including Sony News, DEC MIPS, and Unix System V Release 3.
Try the mailing list for details on these and other possibly ports.

( See more on the Sather language in question G05. )

G04)	How can I obtain Eiffel? Are their any school or student discounts?
Eiffel is a commercially supported product available from Interactive
Software Engineering. There is a world-wide distribution channel for the
sale and support of this implementation. A new version of Eiffel from
SiG Computer GmbH called Eiffel/S is now available. It is available
through roughly the same distribution channels as ISE's Eiffel.

Both products include aggressive site-licensing and discount licenses for
schools and universities. Eiffel/S offers an inexpensive student license.
This license is limited to building systems with up to 75 classes along with
a few other size constraints. It is only $60. Anyone can purchase it for the
$60 until January 15th. Then ISE will raise the price for non-students to $98.

ISE is also selling relatively inexpensive student licenses for Eiffel (~$295)
on their lower cost license platforms such as 386 Unix and the NeXT computer.

The current list of Eiffel dealers and distributors includes:

	Rock Solid Software
	P.O. Box 163072
	Austin, TX 78716
	512-328-6406	FAX 512-328-0466

	Interactive Software Engineering, Inc.
	270 Storke Road, Suite 7
	Goleta, CA 93117
	805-685-1006	FAX 805-685-6869

	Computer Ed, Inc.
	115 Research Drive
	Bethlehem, PA 18015
	215-861-6915	FAX 215-861-8247

	Intelligent Visual Computing
	P.O. Box 418
	Morrisville, NC 27560
	919-481-1353	FAX 919-467-3683

	First Principles, Inc.
	3801 East Florida
	Suite 605
	Denver, CO 80210-2544
	303-757-2216	FAX 303-757-2047

	Class Technology Pty. Ltd.
	6 Pounds Road
	Hornsby NSW 2077
	Australia
	+61 2 477 6188	FAX +61 2 476 4378

	Ease Pty. Ltd.
	3 Edinburgh Avenue
	Carlingford NSW 2118
	Australia
	+61 2 683 6930 ( Phone and FAX )

	Applied Logic Distribution
	9 Princeton Court Road
	55 Felsham Road
	London SW151AZ
	England
	+44 81 780 2324	FAX +44 81 780 1941

	SOL
	14 rue Jean Rey
	75015 Paris
	France
	+33 1 40 56 03 58 FAX +33 1 40 56 05 81

	SiG Computer GmbH
	Zu den Bettern 4
	6333 Braunfels-Altenkirchen
	Germany
	+49 64 72 20 96	FAX +49 64 72 72 13

	EtnoTeam
	Via Adelaide Bono Cairoli 34
	20217 Milano
	Italy
	+39 2 261621	FAX +39 2 26110755

	Unirel
	Centro Comerciale Osmanoro
	Via Volturno, 12
	50019 Sesto Fiorentino (FL)
	Italy
	+39 55 373043	FAX +39 55 318525

	Cromasoft
	Tennyson 93
	Col. Polanco 11550
	Mexico
	+52 5 501 4501	FAX +52 5 595 2089

	Objective Methods
	77 Chamberlain Road
	Karori
	Wellington
	New Zealand
	+64 4 769 499	FAX +64 4 768 772

	Seinca
	C/Jorge Juan, 19 - #4
	28001 Madrid
	Spain
	+34 1 577 99 95	FAX +34 1 577 49 81

	Enea Data
	Box 232
	Nytorpsvagen 5
	S-183 23 Taby
	Sweden
	+46 8 792 25 00	FAX +46 8 768 43 88

	as well as two new distributors in Japan and
	one in India. Sorry, I don't have detailed contact
	information for these last three yet.

G05)	What is Sather? How does it compare to Eiffel?
Sather is a new language patterned after Eiffel, but emphasizing
efficiency and compiling simplicity over software correctness, reusability,
and maintenance. Sather was created by Dr. Stephen Omohundro and others
at ICSI of Berkeley, CA. ( The name comes from the name of a well-known
tower on the Berkeley campus. Sather rhymes with "bather". )
Sather simplifies some Eiffel constructs, eliminates others. and adds some
of its own such as built-in arrays and programmer specified dynamic
dispatching. It compiles quickly and produces smaller executables than Eiffel
2.x. The Sather environment includes an emacs editing environment, a debugger,
and several hundred library classes. Currently, it is only tested on the SUN4.
Theoretically, porting the language to other platforms is possible and a
number of individuals are trying to do just that. Some have succeeded.

G06)	What books are available for learning about Eiffel?
The classic text for learning about Eiffel ( as well as the general concepts
in OOP ) is Dr. Meyer's "Object Oriented Software Construction". Although
the language has evolved significantly since the book's date of publication,
the presentation of the basic problems and solutions which motivate the
object-oriented mind set are still quite compelling. ( Prentice Hall )

Dr. Meyer's new book, "Eiffel: The Language Version 3", is just now
being printed by Prentice Hall. It is over 600 pages and is much more than
a language reference in that it combines an introduction to Eiffel, a
complete overview of the language, and a good deal of the philosophy that
the language attempts to capture. This is the state of the art in OO thinking.

G07)	Are any magazines or newsletters available concerning Eiffel?
Eiffel Outlook is a bi-monthly newsletter devoted to Eiffel and Sather. It
is 24 pages long and focuses mainly on practical and technical issues
involved in using these languages. Contact Rock Solid Software for more
information. Trial subscriptions are available.

Eiffel Post is a four page newsletter for customers of SiG Computer, the
makers of Eiffel/S. Contact SiG Computer for more information.

The Eiffel User's Group publishes a bi-monthly newsletter of a page or two
consisting of short announcements of recent Eiffel news and upcoming events.
Members of the User's Group also receive occasional goodies such as Eiffel
User Conference Proceedings and updated Eiffel bibliographies. Contact ISE
for more information.

G08)	Is Eiffel available on PC, Mac, NeXT, Amiga, Atari, ...?
Eiffel 2.3 from ISE is available on most Unix platforms as well as VAX.

Release of Eiffel/S for the PC has finally taken place. Other Eiffel/S
platforms slated for near term release SUN Sparc and 386 Unix (Interactive,
SCO, and ESIX). Other upcoming ports include OS/2, SUN Sparc, and DEC Mips.

Eiffel/S is a fast compiler with a new approach to the compilation process.
It seems to generate clean C code tha compiles and links quickly and produces
reasonably small executables. The DOS version works with MicroSoft C v5 or 6,
Borland C++, or Turbo C. This is the 1.0 release of Eiffel/S and there are
some small problems with the initial release. Eiffel/S is largely compatible
with the new Eiffel Version 3 language definition, although they have there
own non-compatible libraries.

Eiffel 2.3 for the NeXT is available. This version includes some
very nice library customizations to support the NeXT.

Eiffel 2.3 for the AmigaUX ( System V.4 Unix ) is available.

Eiffel for AmigaDOS has been postponed until after Version 3 is
	ready for porting.

Eiffel 2.3 for the Mac AUX is available.

Eiffel for the Mac MPW environment has been postponed until after
	Version 3 is ready for porting.

( Eiffel Version 3 has been redesigned to be much less dependent on the
	UNIX file system and UNIX system calls. This should allow for
	non-UNIX ports of Version 3 to actually get done. )

G09)	Is there an archive of the comp.lang.eiffel newsgroup?
Yes.  An archive of the newsgroup is available on gatekeeper.dec.com.
Roger H. Goun (goun@ddif.enet.dec.com) maintains the archive.  The DEC Western
Research Lab hosts it.

The files are in /pub/plan/eiffel/usenet/USENET-xx-yyy, where `xx' represents
the last two digits of the year and `yyy' the month of posting, e.g.,
/pub/plan/eiffel/usenet/USENET-91-AUG.  Compressed versions of the files are
also available.

>From IP (either inside DEC or outside DEC):
    anonymous FTP to gatekeeper.dec.com (16.1.0.2)
    cd pub/plan/eiffel/usenet
    get USENET-xx-yyy (or to get the compressed copy, bin, get USENET-xx-yyy.Z)

>From a UUCP neighbor of decwrl:
    "uucp decwrl!~/pub/plan/eiffel/usenet/USENET-xx-yyy.Z"

>From the DEC Easynet:
    DECWRL::"/pub/plan/eiffel/usenet/USENET-xx-yyy"

USENET-88-DEC and USENET-88-DEC.Z are the oldest entries in the archives.

G10)***	How much memory and disk space does Eiffel development require?
A lot. 10 MB just to install the basic tools and library source. Once
you start compiling those libraries it will be 20-25 MB. I'd recommend
50 MB for a minimum development environment.

Eiffel/S will requires less, but still keep about 3-4 MB free to get
installed. It is possible to use Eiffel/S effectively with only about
10 MB available, but a heavy user can use more easily.

G11)***	How large are typical Eiffel executables?
How large are typical C executables?
Seriously, Eiffel does impose a minimum size which is large since
even trivial Eiffel applications bring in a lot of classes and
current Eiffel implmentations are not that hot at optimizing
for space or time. Interestingly, as applications grow Eiffel
applications seem to grow less rapidly as new capabilities are
added. Reuse does help out in this regards. A good Eiffel compiler
should eventually allow large applications to be smaller than
equally functional applications written in C.
( See also the notes below about Eiffel's speed. Note that
leaving assertion checking in the code increases the size of
applications a lot. Despite this, many of us prefer that they
remain throughout development. Some even deliver a PRECONDITIONS-only
version of their applications to their early customers. )

Late note: Eiffel/S seems to create executables that are 4 to 5 times
smaller for the same functionality as ISE's 2.3 Eiffel compiler. And
SiG doesn't claim they have fully optimized for space yet. Perhaps the
huge Eiffel executables seen prior to Eiffel/S or soon to be a thing of
the past ( if ISE can match SiG's technology. )

L01)	What features does Eiffel have?
	Classes, multiple inheritance, polymorphism, dynamic binding,
	genericity, static type checking, a disciplined exception mechanism,
	systematic use of assertions to promote programming by contract.

	ISE's Eiffel 2.3 development environment includes:
		- automatic configuration management ( no makefiles! )
		- automatic tools for creating class documentation
		- a browser ( pretty good and you get the source code )
		- an interactive test environment ( ISE calls it a
			debugger, but that's stretching the truth a bit. )
		- extensive libraries, see L07.

	Eiffel/S has a Version 3 compiler and libraries, see L07.
	No other tools are included with this initial release besides
	the automatic configuration management. But it is a very fast
	and effective compiler that deserves some respect.

L02)	Is it true that Eiffel is too slow?
	Early versions of Eiffel were slow. The compiler was too slow and
	the generated code was bulky. In addition, the run-time environment
	had some major inefficiencies. ISE's implementation has improved
	dramatically in this regard with version 2.3 from ISE which has been
	available for quite a while. For version 3, (expected in 4th Q, '91)
	ISE is rumored to be working on new "melting ice" compiler technology
	that will improve the edit-compile-cycle enormously.

	An interesting property of ISE's current Eiffel compiler is that
	during normal development, 4 compilation steps are necessary to
	create an executable. An additional 3 steps are necessary to create
	a `C package'. These later steps also do extensive space and time
	optimizations. The upshot is that a quick compile without the
	C packaging steps will produce an executable that does not
	compare well with other OO compilers, ecspecially if assertions
	of various ilk are being used. A little care in the specification
	of the desired options for building an Eiffel system for the
	purposes of benchmarking can often produce performance improvements
	of 20 times or more.

	See also the comments on Eiffel/S above. The Eiffel/S executables
	seem faster than ISE's, but true benchmarks are not available yet.

L03)	Please explain and discuss covariance vs. contravariance.

	Richie Bielak says:
	Consider the following situation: we have two classes PARENT
	and CHILD. CHILD inherits from PARENT, and redefines PARENT's
	feature "foo". In Eiffel it looks like this:

        class PARENT
           feature
              foo (arg : A) is ...

        end; -- PARENT


        class CHILD
           inherit
               PARENT redefine foo
           feature
               foo (arg : B) is ...
         end; -- CHILD


	The question is: what should the relation between the type of argument
	to "foo", that is "A" and "B"? ( If they are the same, then there is
	no problem and this discussionis moot. )

	Here are two posibilities:
	   (1)  A is a parent of B.		- the covariant rule
	   (2)  B is a parent of A.		- the contravariant rule

	"Covariant" - because in the child class the types of arguments in
	redefined routines are children of types in the parent's routine,
	so the inheritance "varies" for  both in the same direction - i.e.
	co-varies. "Contravariant" is the opposite.

	Robert Howard comments:
	The disadvantage of the contravariant rule is in a scenario like:

	class PLOT
	    feature
		add( arg : DATA_SAMPLE ) is ...

	class PLOT_3D
	    inherit
		PLOT redefine add
	    feature
		add( arg : DATA_SAMPLE_3D ) is ...

	where DATA_SAMPLE_3D is inherited from DATA_SAMPLE.

	In general, the problem of specializing related classes jointly
	is a major headache in contravariant systems. Most contravariant
	solutions that desire type safety in this situation must resort to
	some form of run-time conformity checking.

	( The December 1991 issue of Eiffel Outlook and JOOP both contain
	  more discussion and explanations concerning this topic. )

L04)	Is it true that there are "holes" in the Eiffel type system?
	Technically no, but ISE's implementation of 2.3 doesn't handle
	all of the admittedly complex cases correctly in every situation.
	Dr. Meyer claims: A) the holes are rarely a problem in real world
	systems ( debatable, but I've never met	an Eiffel user who has had
	a problem caused by the type system hole ) and B) it will be fixed
	in Version 3 without giving up covariance.

	I guess someone will ask me to confirm that the "hole" is fixed
	in the new Eiffel/S compiler. I haven't checked yet.

L05)	What's the big deal about preconditions and postconditions?
	The big deal is that it supports programming by contract. For
	example, preconditions ( require clauses ) are simple boolean
	statements that are used to check that the input arguments are
	valid and that the object is in a reasonable state to do the
	requested operation. If not, an exception is generated. Similarly,
	postconditions ( ensure clauses ) make sure that a method has
	successfully performed its duties, thus "fulfilling its contract"
	with the caller. Invariants are booleans expressions that are checked
	every time an object method returns back to a separate object.

	You can use these ideas in any object-oriented programming language,
	but usually must supply your own assertion mechanisms or rely on
	programmer discipline. In Eiffel, the ideas are integrated into the
	whole fabric of the environment. We find them used by:
	-- the exception handling mechanism.
		( Tracebacks almost always identify the correct culprit code
		  since preconditions almost always denote an error in the
		  calling method, while postconditions denote an error in
		  the called method. )
	-- the automatic compilation system.
		( Assertions can be disabled entirely or selectively by
		  type on a per class basis. )
	-- the Eiffel compiler
		( Assertion expressions are not allowed to produce side
		  effects since they can be trivially omitted. )
	-- the automatic documentation tools
		( Preconditions and postconditions are important statements
		  about what a method does, often effectively describing the
		  "contract" between the caller and callee. Invariants can
		  yield information about legal states an object can have. )

	In addition, if conjecture by Dr. Meyer bears fruit, the notion
	of preconditions may be extended into an important mechanism for
	the development of parallel programming.

L06)	What libraries come with Eiffel?
SE Eiffel 2.3
	- Base libraries
	- Data Structure Library
	- Graphics Libary, ( based on X Windows )
	- Parsing Library
	- classes for storing and retrieving persistent objects
	- classes for analysis of Eiffel class code
		( all the source for the Eiffel browser is included )
	- many others

	( The libraries are very solid, but somewhat spotty in
		  terms of their usability and reusability.
		  Some library classes are excellent. In general,
		  they are a good starting point for development.

	- Eiffel 2.3 on the NeXT also includes
		- compatible version of the graphics library, but
			uses NeXTStep and Display PostScript
		- an encapsulation of the NeXTStep AppKit classes

SiG Computer Eiffel/S Version 3
	SiG has chosen to implement there own set of library classes.
Included are:

The BASIC Cluster
    Universal classes
        GENERAL, PLATFORM, ANY
    Special classes
        ORDER, NUMBER, HASHKEY, BOOLEAN, CHARACTER, INTEGER, REAL, DOUBLE,
        BITS n, STRING, ARRAY[G]
    Other
        ENVIRON  -- access to calling arguments and environment variables
        BASIC_IO -- normal IO
        FORMAT   -- extension to BASIC_IO with some simple formatting ability
        EXCEPT   -- fine grained access to exception handling info
        SYS_TIME -- system time interface
        INTERNAL -- control garbage collector.

The FILES Cluster
    FILE        -- files are modelled as persistent dynamic arrays
    FILE_SYS    -- interface to clusters, files, and paths
    FSYS_DAT    -- file information, i.e. name, permissions, dates, path

The SORTER
        -- A sorting algorithm ( bottom-up heapsort ). It is not clear
                to me why this is in a separate class and cluster.

The MATH Cluster
        -- math functions ( mostly real functions plus simple integer random
                numbers ). Also a few constants.

The CONTAINER Cluster
        -- The theory behind these classes are in the Eiffel/S Libraries
                article in Eiffel Outlook Vol. 1, Number 3. In a nutshell,
                containers are distinquished by three characteristics:
                unique members, ordered members, keyed members. All containers
                are accessed via iterators. Here are the class names:
        LIST[G], S_LIST[G->ORDER], SMP_TBL[K,G], H_TABLE[K->HASHKEY,G],
        S_TABLE[K->ORDER,G], STACK[G], QUEUE[G], PRQUEUE[G->ORDER],
        KPR_QUEUE[k->ORDER,G], COLCTN[G]*, TABLE[K,G]*, SRT_CLN[G->ORDER]*,
        SRT_TBL[K->ORDER,G]*, TRAVERS*, TW_TRVRS*, ITERATOR, TW_ITER

The GRAPH Cluster
        -- directed or undirected graphs as well as weighted graphs.
        VERTEX[G], EDGE[G], GRAPH[G], WT_GRAPH[G],
        EDG_ITER[G], BF_ITER[G], DF_ITER[G], TOP_ITER[G]

The MATCHER Cluster
        -- pattern matching, implemented as a automaton
        MATCHER*, RK_MTCH, KMP_MTCH, BM_MTCH, RE_MTCH, TXT_MTCH


The asterisks after class names above denote abstract classes. While the class
names are a bit more obscure than in ISE's library, the functionality looks
to be well reasoned out. The documentation is a bit more thorough. It includes
examples of simple usages and hints for adding new containers or matchers.
All in all, a smaller but possibly tighter set of libraries.
( I believe the wierd class names are due to a limitation on DOS file names. )

This response may give the appearance that Eiffel/S libraries are much
more extensive than ISE's. The reverse is true. I'll try to flesh out the
list of ISE's library classes as details of their new Version 3 of Eiffel
become available. The latest quoted date from ISE is that version 3 will be
available sometime in the first quarter of 1992.

**************************************************************************

Robert (Rock) Howard                            Ph:   512/328-6406
Rock Solid Software				FAX:  512/328-0466
P.O.Box 163072                                  Email: howard@ses.com
Austin, TX, USA 78716                           or ...!uunet!sessun!howard
	Let us help you make a fully-informed decision about Eiffel.




-- 

*------------------------------------------------------------------------------*
Jim McKim  (203)-548-2458     In exactly 3.2 seconds it will be a few 
Internet:  jcm@hgc.edu   minutes to 5:00.