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

Re: [Scheme-reports] Exception handling

On 2011-04-30, at 14:20, John Cowan wrote, responding to me:
>> I would suggest adding a new procedure, (MAKE-ERROR-OBJECT message
>> obj...), which creates the implementation-defined object ERROR is
>> supposed to create,
> I don't have a problem with this, though I think it's less useful than
> the predicate and accessors, so I filed another ticket.
It is somewhat less useful than I had at first thought, I realized earlier today that most built-in functions would create a subtype of ERROR-OBJECT, and that ERROR in particular would do so. I'd therefore like to suggest loosening the language a bit, though I don't have immediate new wording to suggest. 
>> adding a sentence to the RAISE and RAISE-CONTINUABLE entries that says
>> `The effect of applying this procedure to an object not created via
>> MAKE-ERROR-OBJECT is implementation-defined'.
> I'm really opposed to that: simple programs ought to be able to
> throw simple objects, especially when the conditions don't represent
> exceptions.

Since every WG1 program is (supposed to be) a WG2 program, that means that it's perfectly acceptable for a WG2 module to offer a procedure that does a RAISE 4, and and for another WG2 module that also, for very different reasons to do the same. This would make using these two modules together extremely difficult, which sort of defeats the idea of programming-in-the-large.

I'm not wedded to the wording I suggested, but would like to promote the idea that WG1 allows a certain range of exception objects to be thrown, and WG2 perhaps extends and perhaps refines this range. 

-- vincent
Scheme-reports mailing list