On Jun 14, 2009, at 4:37 PM, leppie wrote:
I think I just misread the report - when it says "any object may be
used to represent an exception" it must mean "any condition object"
rather than "any value".
No, it needs not be a condition, any value can be 'raised'.
Right. To clarify: there are condition objects and non-condition
objects just like there are pairs and non-pairs. You can pass *any*
object to raise and raise-continuable and that object will be passed
to the current exception handler as is. That is, doing (raise 5) is
fine and the exception handler will get a 5. There won't be an error
because you raised a non-condition object, and the 5 will not be
coerced into a condition object.
Ikarus's default exception handler prints the raised object. If it's
a condition, it's printed one way, and if it's a non-condition, it is
printed another way. That's all. It does not affect the semantics
of raising and catching exceptions.
Aziz,,,