BENCHMARKS
Comparison of ZSTRING against STRING_32 for basic string operations
All of this is really great. However, have you had any success at all in making Eiffel-loop Void-safe and SCOOP-friendly?
Unfortunately not, but if enough people are interested to sponsor this gargantuan task here is my offer:
Eiffel-Loop currently clocks in at 2985 classes containing 641006 words* of code. Total size: 6.3 mb.I am willing to undertake the task for € 24.00 EUR/hour (USD $29 or GBP £21).
Sponsors get to vote which libraries are attended to first but Eiffel-Loop base.ecf is a good place to start.
* Code words include keywords, identifier words and quoted strings, but exclude comments and indexing notes.
Other good stuff
Other good stuff that has been happening in Eiffel-Loop lately
This powerful reflective object database system has been
further enhanced
TESTING
Testing has got a lot more organized in 2020 with full
migration to EQA test sets grouped by library. Most importantly
they are designed to be run as both as workbench and finalized
code. Many finalized bugs can go undetected without this
approach.
Best regards
Finnian
--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/eiffel-users/531fe961-d5e5-4c37-8578-5b5c97186e0en%40googlegroups.com.
-- SmartDevelopersUseUnderScoresInTheirIdentifiersBecause_it_is_much_easier_to_read
I have spent another hour-plus this morning trying to isolate even a small part of Eiffel-loop to where I can get it to compile in a version of Eiffel Studio beyond 16.05. I have once again failed.
I have an idea! Since you have honored me already with making some attempts to migrate Eiffel-Loop I have an idea to make it less frustrating. I will create a tool for you that will facilitate the process. The problem seems to be that you are being overwhelmed with thousands of errors so this relatively simple tool will ease the task for you by reducing the number of classes to deal with at any one time time. Here is how it will work
The tool will accept as an argument two directories. The first is a source directory within the Eiffel-Loop codebase. The second is the home directory for a new Eiffel-Loop-20.11 (as a reference to current EiffelStudio version)
For example:
el_eiffel -class_dependency_layer -source $HOME/Eiffel/libraries/Eiffel-Loop/library/base -output $HOME/Eiffel/libraries/Eiffel-Loop-20.11
The tool will read all the classes for the source tree, and identify all the classes that only depend on classes in ISE libraries, it will then copy this layer of classes into the output, recreating the directory structure of the original. The program will then pause with a user prompt
Hit <return> top copy the next layer:
You can then proceed to get this first layer of classes in the output to compile. When finished you hit return to copy the next layer of dependencies, and I think you can see where this is going. The next layer is only those classes which only depend on ISE libraries and those classes already copied in the first layer. It's a recursive program which exits when all the classes have been copied to the output.
Or the tool can even be made more
granular and only copy one class at a time, between prompts.
Let me know if you like this idea and what platform you are using I will make this tool for you. Should only be a days work at most to make something like that.
best regards
Finnian
-- SmartDevelopersUseUnderScoresInTheirIdentifiersBecause_it_is_much_easier_to_read
Or the tool can even be made more granular and only copy one class at a time, between prompts.
Or the tool can be easily made to create a tabular menu of all
the classes in the current dependency layer, and lets you choose
which one you want to work on next, perhaps by first letting you
inspect the class in a text editor and then choose whether to copy
that class or not.
-- SmartDevelopersUseUnderScoresInTheirIdentifiersBecause_it_is_much_easier_to_read
I have spent another hour-plus this morning trying to isolate even a small part of Eiffel-loop to where I can get it to compile in a version of Eiffel Studio beyond 16.05. I have once again failed.
I would love to use some of this lovely and well-crafted code you have created, but asking me (any of us) to hang back with 16.05 and ignore the bug-fixes and excellent changes applied to 20.11 and beyond is just unthinkable.
I am really sorry and sad that you did not take the time when Void-safety
I have been programming with Eiffel since 2000, long before
Void-safety came into vogue, and my lived experience is that
calls on void references are hardly ever an issue for me, in
other words extremely rare. So why make a hugh effort to prevent
something that hardly ever happens. Makes no sense to me unless
you a designing for the nuclear/aero industry and need to offer
better guarantees. In that case it is worth the extra trouble
(and ugly code) because this industry pays handsomely.
came along to handle that matter and then also with SCOOP.
SCOOP took a long time to evolve to being mature, and in the
mean time I got very good at using the traditional thread model
and created many classes to make it more error proof. It is
still a very unknown quantity how well and quickly I can learn
SCOOP and make it bend to my will. It looks to me at least as
difficult to learn as classic threads augmented by wrapper
classes.
Personally, I have grown so dependent on Void-safety from the compiler that it is unthinkable to return to a non-void-safe environment.
It is high time to tear down Eiffel-loop to nothing and start building it back, class-by-class in a Void-safe project, handling the issues one class at a time.
Otherwise, suggesting Eiffel-loop to me will simply fall on deaf ears.
This makes me really really sad to have to say it to you because the code you've written is just rotting and going to waste.
Actually it's not rotting, it's constantly being maintained, expanded, improved upon, documented and tested. Go look at my github commits chart.
But I do admit it is going to waste in that more people do not
use it. It doesn't make me sad, it's just a fact. I feel proud
of what i have achieved with 15+ years work. And even if nobody
else has a use for it, I have a use for it and I have learned a
lot by creating it.
regards
--Finnian