
   Frequently Asked Questions
   
   
   Table of contents
   
   Q01: Why the name SmallEiffel The GNU Eiffel Compiler?
   Q02: What's the matter with version numbering?
   Q03: Is it possible to have the complete Eiffel source of
   SmallEiffel?
   Q04: Is it possible to use SmallEiffel for large/commercial
   applications?
   Q05: Is it possible to do incremental compilation with SmallEiffel?
   Q06: Is there a SmallEiffel mailing list?
   Q07: What about the Guru section?
   Q08: Is it difficult to switch from ISE to SmallEiffel?
   Q09: Are there Mirrors ftp sites for SmallEiffel?
   Q10: Is it possible to use the Boehm-Demers-Weiser GC with
   SmallEiffel?  Questions and answers
   
   Q01: Why the name SmallEiffel The GNU Eiffel Compiler?  A01:
   SmallEiffel comes from the mixing of the names Smalltalk and Eiffel.
   Our aim is to offer an Eiffel development environment as easy to use
   as Smalltalk and as safe as Eiffel. Since version -0.82, SmallEiffel
   has been promoted by the Free Software Foundation the official GNU
   Eiffel Compiler.   Q02: What's the matter with version numbering?
   A02: Version numbering uses negative numbers. The first distributed
   version was numbered -0.99, the second one -0.98, the third -0.97, and
   so on. Version number -0.0 should correspond to the very best Eiffel
   compiler on this planet :-)    Q03: Is it possible to have the
   complete Eiffel source of SmallEiffel?  A03: Since it is the GNU
   Eiffel Compiler, the complete source code of SmallEiffel is of course
   in the distribution. The source code for additional libraries is also
   provided.   Q04: Is it possible to use SmallEiffel for
   large/commercial applications?  A04: It is very possible to use
   SmallEiffel for a large application. An Eiffel compiler is a really
   big project and SmallEiffel itself is fully written in Eiffel.
   SmallEiffel is completely free and any private compagny can use
   SmallEiffel freely, and distribute freely the products made with it.
   They do not have to pay royalties. However, SmallEiffel doesn't come
   with any warranty (please read the COPYING file in the distribution).
   For extended support as well as consulting, see here.    Q05: Is it
   possible to do incremental compilation with SmallEiffel?  A05: Before
   release -0.91 the answer was no. Whith the current release, the answer
   is now YES. Because of the SmallEiffel type inference mechanism,
   SmallEiffel always produces all needed C files from scratch. As old C
   files are automatically saved, only modified C files are recompiled.
   See man/compile for details.    Q06: Is there a SmallEiffel mailing
   list? A06: Yes! SmallEiffel users and developpers can share their
   experiences and ideas by subscribing to the SmallEiffel official
   mailing list.   Q07: What about the Guru section?  A07: Some feature
   section of the SmallEiffel library are labelled with :
        feature -- The Guru section :
   If you really need your software to be portable on other Eiffel
   compilers, do not use those features.    Q08: Is it difficult to
   switch from ISE to SmallEiffel?  A08: If your original ISE software
   only uses simple types like INTEGER, STRING, ARRAY, BOOLEAN, CHARACTER
   and DOUBLE, it is usually very simple. It is a little bit difficult
   for simple input/output (used with predefined `io') because some
   features have different names. If your original software heavily
   relies on the EiffelBase library, it may be very difficult. For
   example, one must keep in mind that SmallEiffel.ARRAY inherit
   SmallEiffel.COLLECTION and that ISE library also have a class
   COLLECTION. By the way, subclasses of ISE.COLLECTION cannot be used.
   The ISE.LINKED_LIST can be used in conjunction with SmallEiffel.ARRAY
   because ISE.LINKED_LIST do not inherit ISE.COLLECTION (no clash).
   Q09: Are there Mirrors ftp sites for SmallEiffel?  A09: Australia
   ftp://ftp.progsoc.uts.edu.au/pub/Eiffel/SmallEiffel/
   Austria http://gd.tuwien.ac.at/pub/languages/SmallEiffel/
   USA ftp://ftp.cs.rit.edu/pub/mirrors/SmallEiffel/    Q10: Is it
   possible to use the Boehm-Demers-Weiser GC with SmallEiffel?  A10:
   Yes.
   You just have to disable the generation of the GC by SmallEiffel
   (option -no_gc) and replace it by the BDW library. Note that the BDW
   GC can be easily added because SmallEiffel only uses
   malloc/realloc/calloc/free.
   You can download the BDW library from :
          http://reality.sgi.com/boehm_mti/gc_source
          
   How to integrate the Boehm-Demers-Weiser garbage collector with
   SmallEiffel (from a message of Dietmar Wolz) :
    1. Make the gc.a file from the BDW package. Then move this gc.a file
       to /usr/lib/libgc.a.
    2. Move gc.h the to working directory and add the following lines:
       #define malloc(n) GC_malloc(n)
       #define calloc(m,n) GC_malloc((m)*(n))
       #define realloc(p,n) GC_realloc((p),(n))
       #define free(p) GC_free(p)
    3. instead of calling
           "compile -o executable -boost -O root"
       now call
           "compile -o executable -boost -O root -no_gc -lgc -include
       gc.h
       
   [Line] Copyright &copy; Dominique COLNET and Suzanne COLLIN -
   <colnet@loria.fr>
   Last update: Tuesday June 9th, 1998
