Thread: [Tecomp-user] version 0.23 released
Status: Beta
Brought to you by:
helmut_brandl
From: Helmut B. <hel...@gm...> - 2010-09-17 20:12:18
|
== Incompatible changes == - The keyword `assertions' has been renamed to `assertion' in order to be compatible with the usual style (`feature' and not `features', `cluster' and not `clusters', etc.). == New features == === Gnu build system introduced === The Eiffel compiler is now built with the GNU build system in order to be more robust for different environments. Therefore the building and installing of tecomp is now different. Please read "doc/tecomp/installation.txt" to build tecomp. === Compilier binary and standard libraries are now installed === The Eiffel compiler will be installed by `make install'. The location can be chosen by `configure'. The default location is `/usr/local/bin'. The libraries which come with `tecomp' will be installed (default location `usr/local/lib/eiffel', but location can be configured with `configure --prefix=xxxx') and tecomp is preconfigured to search for the libraries at the proper location. The kernel library is now implicitely included. === New cluster concept implemented === The new cluster concept described in the white paper at [[http://tecomp.sourceforge.net]] -> white papers -> language discussion has been implemented. It restricts visibility of classes and allows resolution of class name clashes. An introduction to the new concept including the simplification of the ace files can be found on [[http://tecomp.sourceforge.net]] -> tecomp -> ace file as well. With the new cluster concept, libraries can have their own ace file describing all needed other libraries. The Eiffel classes uses by a library are not visible within the main program (unless explicitly mentioned there). Each library has an own view of the classes. Duplicate class names are possible as long as there is only one class with the same name in a view. A rename facility to avoid the remaining name clashes has been introduced. === Small Eiffel programs simplified significantly === Small Eiffel programs don't need an ace file any more. All classes needed by the program can be included in one main eiffel file. The root class is not necessary any more, only the root procedure. In the main Eiffel file a standard unix method of #! /usr/bin/env tecomp as first line can be added to make the file executable (don't forget the chmod!!). With that the smallest executable Eiffel program looks like #! /usr/bin/env tecomp do print("Hello world.%N") end The main eiffel file has the syntax Main_eiffel_file: [Ace_section] {Eiffel_class ... }+ Eiffel_class: Normal_eiffel_class | Implicit_root_class Normal_eiffel_class: "class" ... "end" Implicit_root_class: ["feature" ... "end"] ["local" ...] "do" Compound "end" Rule: Only one implicit root class is possible === Kernel library === - kernel library: added {FILE}.remove to delete a file == Bugfixes == - overriding of a deferred feature by an effective feature inherited from different parents now correct == Others == - reintroduced {SPECIAL}.make_empty for compatibility with EiffelStudio |