Ted [ES] wrote:
> My feeling is that as you see, now EXCEPTION is clean and clear enough.
> This is one of the benefits implementations are put in EXCEPTION_MANAGER.
This is a strange answer. I don't understand why it makes it
clean and clear. It's just unnecessarily delegating its
implementation to an auxiliary class. If you want to see
the class without its implementation, just use the short form.
I would find it very cumbersome if for each class, say STRING,
TUPLE, etc. we had to have an auxiliary class, STRING_MANAGER,
TUPLE_MANAGER, etc. to put its implementation. I don't
consider that as a benefit.
> The reason EXCEPTION_MANAGER keeps track of ignored exceptions is that
> ignoring
> exceptions is an operation of types, rather than per object. So it
> doesn't make sense
> to have this in EXCEPTION class.
What would make sense would be to implement it in class
EXCEPTION as a once-per-type. If not supported yet, then
we can find ways to simulate it without the need for
EXCEPTION_MANAGER. What is not very nice with your
implementation is that it uses ARRAYED_SET, which adds
another unwanted dependency to the container clusters
of EiffelBase.
> I am not too surprised at the arguments against many routines of
> implementation in
> EXCEPTION_MANAGER, since they could be useless for other
> implementations. What you
> see here is actually an implementation of the class from ISE, where we
> try to implement
> in Eiffel code as much as possible. The problem is we need a suitable
> way to seperate
> what is really needed in elks and implementations. `built-in' mechanism
> would be
> used when possible as Manu said. But I realized `built-in' mechanism may
> not be sufficient,
> because those routines will be still there.
I don't think we need zillion built-in features to implement
exceptions. The runtime is able to deal with manifest strings,
manifest tuples, manifest arrays, without having to add built-in
features, why should it be different for exceptions.
> I am not sure what you think the "a real object-oriented way" is.
Where objects are not just records.
> On ISE part, only those exceptions raised by the runtime has to do with
> exception code.
> Clients don't have to care about exception code. They can do whatever
> they want by
> object-oriented approach.
> What you see so many "code" in the EXCEPTION_MANAGER is just because we
> do the implementation in
> Eiffel code (not creating objects in the runtime). For now,
> the ISE runtime doesn't have to know about the detail of exception
> object by using
> exception code.
And that's a mistake in my opinion. The runtime has to know
about strings, arrays, tuples without exposing the implementation
details to the programmers. I think that it should be the same
for exceptions.
> With this, we could go without EAO in the further for
> small systems,
> i.e embeded, by providing a proper implementation of EXCEPTION_MANAGER.
But that won't be Eiffel as specified by ECMA anymore.
--
Eric Bezault
mailto:
ericb@...
http://www.gobosoft.com-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/_______________________________________________
freeelks-devel mailing list
freeelks-devel@...
https://lists.sourceforge.net/lists/listinfo/freeelks-devel