Release - 0.77 - Saturday February 12th, 2000
* Added in directory SmallEiffel the new [2]install command class
install.e with a precompiled install.exe for Windows. This
install.e class is intended to install the SmallEiffel
distribution it comes with, and is designed to be as portable as
possible. This automatic installation program has already been
tested for Windows/lcc-win32, Windows/bcc32, Linux/gcc,
Solaris/gcc, DEC-Alpha/gcc and FreeBSD/gcc, ... To install
SmallEiffel under some UNIX like system, just type make in the
SmallEiffel directory. To install SmallEiffel under Windows, just
run install.exe. On other systems, C compile and run the install.c
file.
* Added C++ external support (creation of C++ objects, deletion of
C++ objects, member functions calls, static functions calls etc.).
See lib_show/external/C++ for examples.
* Added NUMBER library, for infinite precision and infinitely large
numbers. See lib_show/number for examples.
* Added ITERATOR library, for external iterators on data structures.
See lib_show/iterator for examples.
* Added class BIT_STRING for very large bit sequences, with
reference semantics.
* Added class BASIC_DIRECTORY and class DIRECTORY to handle in a
portable way directories as well as system path notations. See
lib_show/basic_directory for examples. This class is also
implemented for Java byte-code (command [3]compile_to_jvm).
* Added class BASIC_TIME, TIME_IN_FRENCH TIME_IN_ENGLISH and
TIME_IN_ITALIAN to handle date and time. See lib_show/basic_time
for examples. Low level routines for Java byte-code are not yet
implemented If you have some time to do this, you just have to add
the missing Java code in sys/runtime/SmallEiffelRuntime.java (do
not forget to post your work on the SmallEiffel mailing list).
* Features deep_clone and deep_equal of class GENERAL are now
implemented for the C compilation mode (does not work yet with
compile_to_jvm).
* Added feature skip_remainder_of_line and feature reach_and_skip in
class INPUT_STREAM. Warning: in order to be consistent with other
features, the behavior of features skip_separators and
skip_separators_using has changed.
* Added feature to_hexadecimal and feature to_hexadecimal_in in
class INTEGER.
* Improved incremental recompilation of the generated C code (also
fixed a very old bug in incrementality).
* Exceptions handling: the default_rescue feature is now supported.
* Various bug fixes and improvements (type inference score
increased).
* bootstrap compile SmallEiffel with optimizations on;
* some corrections to default loadpath.UNIX;
* point users at correct documentation files in error messages.
* New -html2 flag for command short generates a colorized HTML short
form for classes.
* The garbage collector now takes into account feature dispose of
class MEMORY for reference objects.
* Obsolete classes (obsolete keyword) now supported.
* Assertion tags are now displayed when an assertion fails.
* Added environment variable in loadpath files. Syntax: ${SOME_VAR}
* Added the -no_style_warning flag to suppress warnings when the
recommended styles guidelines for Eiffel are not strictly
followed.
* Added the -version flag to show SmallEiffel's version.
* Enhanced ease of use with and adaptability to various C compilers
(SYSTEM_TOOLS). Files compiler.system, linker.system and
o_suffix.system are now obsolete and replaced by a unique file
compiler.se common to all systems. See the [2]System configuration
page for more information.
* Class LINKED_LIST now replaces obsolete class LINK_LIST (simple
renaming).
Class TWO_WAY_LINKED_LIST now replaces obsolete class LINK2_LIST
(simple renaming).
* Fixed "implicit renaming" bug.
* Cleaned all source code of tabulations at beginning of line (made
code look ugly when using an editor whose tabs were not 8).
* Some new ELKS'95 features implemented.
* Validity rule VEEN fixed.
* Added class COLLECTION_SORTER and REVERSE_COLLECTION_SORTER to the
library.
* Fixed file renaming portability bug (".d files bug").
* Validity rule VCFG.1 is now enforced.
* Validity rule VAPE is now enforced.
* Classes mentioned in a cecil.se file are now automatically made
live. Makes it easier to link with external libraries.
* Various other bug fixes.