[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: exception systems




   References: <199604181941.PAA15530@sting14>
   Date: Thu, 18 Apr 1996 18:15:59 -0400
   From: Matthias Blume <blume@CS.Princeton.EDU>

   I still think there is way too much in it.  Where is MI suddenly
   coming from?  If I recall correctly, we don't even have SI in Scheme
   -- and I'm very happy about this fact.

So am I.  My initial reaction to multiple-inheritance was Uuugh!
I changed my mind when I was unable to come up with an reasonable
alternative.  Note that I am not suggesting adding multiple
inheritance for anything other than conditions.

   Then: recoveries, restarts, ... this is what I call `bloat'.  For the
   cases where you think you need the fancy stuff I am sure one can
   easily come up with a straighforward way of doing it using plain old
   `lambda'.

I think you are missing the point.  The issue isn't functionality.
As I said in the proposal it could all be implemented easily in
Scheme.  The issue is interfaces.  The notion is that you should
be able to say for procedure <foo>:

 If <foo>'s argument is not a <bar> it installs an <interactive>
 restart that accepts a new argument and then signals a <wrong-
 type-argument> condition.

Yes, you can implement this in Scheme, but then how do you describe
the behavior of <foo> in a succinct and portable way? 

   I would be perfectly happy with something as simple as
   `raise'/`handle'.

Which is exactly what I proposed originally.  The consensus
was that it was completely inadequate.  You didn't comment at
the time.
                                -Richard