Re: SmartEiffel shortcomings?

Wolfgang Jansen <[email protected]> Wed, 13 Jul 2005 11:37:53 +0200
Newsgroups gmane.comp.lang.eiffel.smalleiffel
Organization University of Potsdam, Institute of Informatics
Message-ID <[email protected]>
Dominique Colnet wrote:

> Wolfgang Jansen wrote:
>
>> Do you know that I published introspection, storable, and
>> evaluation and printing of expressions from the debugger
>> more than two years ago?
>
> I understand your feeling. It is sad to see that the work done is not
> included. Yes, you are right.
> To come back on introspection, did you look at the Eiffel type used
> in the new version ?
> It was not like this 2 years ago.
> But again, I understand your feeling and I am sorry for that.

A few weeks or month ago I tried to adapt my old STORABLE
class to the new SE2.* version, so I had a look into the
new type system. As an outsider (in fact, as a hacker),
I had problems to understand some new developments,
in particular, what the precise (and distinguishing)
meaning of classes TYPE, LIVE_TYPE, TYPE_MARK, ... and
their relations (similar for FEATURE_* and others) is.
This is at least one more level of granularity
than the previous E_TYPE, RUN_CLASS ... system.
I hoped to find the old classes just under a new name
(and with slight changes). This was a misleading approach
and I'm not sure whether I've understood the concept.
It remains the impression that the fine-grained system
of TYPE, LIVE_TYPE ... is overdeveloped.
There are so many casts (sic!) between *TYPE* classes
(more than for the old system) that a common class
(or a different splitting of the intended purpose)
seems to be appropriate.

I did not look for classes designed for introspection
(and did not find one by access).

But not the possible misunderstanding of the new type concept
prevented the complete adaption of my own introspection,
it was the new agent management. It is really too complicated
to identify agents by their type-class-line-column.
Persistence of objects of developing classes, for example,
needs the identification of types and attributes by name,
identification of agents by type and routine names
as well asthe pattern of open and closed arguments.
The type-class-line-column (in particular the line)
is subjected to elementary class text editing and cannot
be used for agent identification.
I gave up.

So far I could not compile any of the persistence
examples coming with SE2*. Thus, introspection and
persistence do not exists in SE2.* (or are hot air).

Taking all together, I'm not sure whether I've got
the qualification to estimate the new type system
-- in general as well as especially for introspection.
I just have observed some effects.

Wolfgang Jansen