home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.eiffel
- Path: sparky!uunet!mcsun!sunic!psinntp!psinntp!merlin.hgc.edu!jcm
- From: jcm@hgc.edu (James McKim)
- Subject: FAQ
- Message-ID: <1992Jul23.124931.1768@merlin.hgc.edu>
- Keywords: FAQ, Eiffel
- Sender: usenet@merlin.hgc.edu (Action News Central)
- Organization: The Hartford Graduate Center
- Distribution: comp.lang.eiffel
- Date: Thu, 23 Jul 1992 12:49:31 GMT
- Lines: 652
-
- 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.
-