ISE Base to SmallEiffel Port
Introduction
- On August 4th, 1998 ISE released
the Eiffel Base library as Open Source. This page contains information
about the effort of making this library work with the SmallEiffel
compiler.
Status
- 10/19/98
- Added a more extended tests for LINKED_LISTs.
- I have a bug in my changes to ARRAYED_LIST. The test crashes and I haven't
had time to debug it. The ISE class has a weird inheritance clause that
had to be changed a lot just to compile with SmallEiffel.
- Started a test class for sets. No real code in it yet.
- 8/22/98
- 8/4/98
The first version of the library put up. Couple of test programs written.
Downloads
To install just unpack the tar files into the same directory. There
will be a "base" and a "tests" directory. Try compiling the programs
in "tests".
Porting Notes
- Differences between ISE's compiler and SmallEiffel
- ISE short-circuits evaluation of booleans expressions, SmallEiffel
does not.
- ISE creates a new string each time a string constant is assigned
to a variable, SmallEiffel reuses the string. The equivalent code in ISE
and SmallEiffel is:
ISE | SmallEiffel |
s := "foo" | s := clone ("foo") |
- Name conflicts - ISE base has a class called COLLECTION and so does
SmallEiffel Kernel. For now I renamed ISE's COLLECTION to ISE_COLLECTION.
- Case of names. SmallEiffel wants variables and constants to be
in lower case. ISE starts constants with upper case letters (eg. "Maximum").
- Problems with SmallEiffel
- "is_equal" doesn't work right. "a.is_equal (b)" doesn't compile if
"b" is a subtype of "a".
I have received a fix for this from Dominque Colnet. The fix will be
in the next release of SmallEiffel (fixed in -0.79 beta2).
- SmallEiffel -0.80 crashes when it compiles a test with a call to LINKED_LIST
"extend" routine (fixed in -0.79 beta2).
Help!
Please help! If you writes new tests, make changes to the base library
please send it to me and I'll integrate it into a newer version.
Links
Richie Bielak
Last modified: Mon Oct 19 22:17:32 EDT 1998