Re: Re: SmartEiffel shortcomings?

[email protected] Wed, 13 Jul 2005 11:59:39 +0200
Newsgroups gmane.comp.lang.eiffel.smalleiffel
Message-ID <OFF519F44C.7A3F7322-ONC125703D.0035DC71-C125703D.0036E693@mpsa.com>
Wolfgang Jansen <[email protected]> wrote:
> 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.

I understand that. It will, I hope, be added to our wiki book sometime in 
the future.

> 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.

Sure, as we said, we developed the core anew.

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

There is no special class for introspection. The library classes (in 
SmartEiffel/lib/internal) and especially TYPED_INTERNALS provide the 
functionality via external "built_in" features, meaning that the code 
should reside in the NATIVE_BUILT_IN class (cluster 
SmartEiffel/tools/feature).

But I did not develop the feature. Maybe Frederic can be more specific 
here.

> 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).

Well, at least it's in the air ;-) I know that feature has been long 
awaited and that's an understatement. But please wait a little bit more.

> 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.

The type system is complex, because Eiffel type system is really complex. 
This structure was built to deal with the many many problems of multiple 
and repeated inheritance (remember the many bugs in SmartZilla?) and also 
to deal with non-conforming inheritance.

All in all, I think it works well thanks to Philippe's huge work.

Thanks for your comments.

Best regards,
-- 
Cyril ADRIAN -- ALPLOG 
@ PSA Peugeot Citroën, Sochaux, France 
tél. +33 (0)3 81 33 48 76 
fax +33 (0)3 81 33 16 06 
Vt Sol inter planetas, 
Ita MVSICA inter Artes Liberales 
in medio radiat 
-- Heinrich Schütz, 1640