On Sun, Oct 18, 2009 at 7:35 PM, Ville Voutilainen ville.voutilainen@gmail.com wrote:
2009/10/18 Erik Huelsmann ehuels@gmail.com:
The ConditionThrowable should probably be named TransferOfControl instead, is what I'm now thinking. That would add to the "self-explanatory" level in the sources, I'd say.
For the superclass of GO/RETURN/etc. yes, but I don't think we should get rid of ConditionThrowable. ConditionThrowable is actually not a good superclass for GO/RETURN/etc., because I'd expect Java code to try and catch conditions, but such catches should IMO not be mixed with catching GO/etc. To me it looks like we need two superclasses, ConditionThrowable for conditions, TransferOfControl for others.
This is exactly where ConditionThrowable is confusing. It's also where I thought your thoughts may take the wrong turn: Java code can't actually catch Lisp conditions: Condition (and all its decendants, apart from user defined ones) descend from StandardObject, which descends from LispObject. They are not Throwable at all!
So, since there are no lisp conditions going to be caught in the catch statements, can we agree that ConditionThrowable is just a confusing misnomer?
Bye,
Erik.